export type EmployeeRole = "EMPLOYEE" | "MANAGER";
export type EmployeeStatus = "INVITED" | "ACTIVE" | "INACTIVE" | "SUSPENDED" | "REVOKED";
export type EmployeeGender = "MALE" | "FEMALE" | "OTHER";

export interface Employee {
  id: string;
  name: string;
  email: string;
  phone: string | null;
  gender: string | null;
  role: EmployeeRole;
  status: EmployeeStatus;
  organizationId: string;
  departmentId: string | null;
  createdAt: string;
  updatedAt: string;
  user: {
    id: string;
    name: string;
    email: string;
    role: string;
    status: string;
    phone: string | null;
  } | null;
  department: {
    id: string;
    name: string;
  } | null;
  organization: {
    id: string;
    name: string;
  } | null;
}

export interface InviteEmployeePayload {
  name: string;
  email: string;
  phone?: string;
  gender?: string;
  role: EmployeeRole;
  departmentId?: string;
}

export interface AcceptInvitationPayload {
  token: string;
  password: string;
}
