export type ClientStatus = "INVITED" | "ACTIVE" | "INACTIVE";

export interface Client {
  id: string;
  name: string;
  email: string;
  companyName: string | null;
  gstin: string | null;
  pan: string | null;
  phone: string | null;
  status: ClientStatus;
  organizationId: string;
  createdAt: string;
  updatedAt: string;
  user: {
    id: string;
    name: string;
    email: string;
    role: string;
    status: string;
    phone: string | null;
  } | null;
  organization: {
    id: string;
    name: string;
  } | null;
}

export interface InviteClientPayload {
  name: string;
  email: string;
  companyName?: string;
  gstin?: string;
  pan?: string;
  phone?: string;
}

export interface UpdateClientPayload {
  name?: string;
  companyName?: string;
  gstin?: string;
  pan?: string;
  phone?: string;
  status?: string;
}

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