import {
  AdminUserInfo,
  CreateAdminUserRequest,
  UpdateAdminUserRequest,
} from "@/types/auth";

export interface AdminUserFormData {
  first_name: string;
  last_name: string;
  username: string;
  password?: string;
  status: "active" | "deactive";
  permissions: number[];
  roles: number[];
  isEdit: boolean;
}

export interface AdminUserFilters {
  search?: string;
  status?: string;
  page?: number;
  limit?: number;
}

export interface AdminUsersResponse {
  users: AdminUserInfo[] | null;
}

export interface AdminUserResponse {
  user: AdminUserInfo;
}

export interface CreateAdminUserResponse {
  user: AdminUserInfo;
}

export interface UpdateAdminUserResponse {
  user: AdminUserInfo;
}

export interface DeleteAdminUserResponse {
  message: string;
}

// Export types for easier access
export type {
  AdminUserInfo,
  CreateAdminUserRequest,
  UpdateAdminUserRequest,
} from "@/types/auth";
