export interface AllowanceType {
  id: string;
  name: string;
  code: string;
  is_taxable: boolean;
  is_statutory: boolean;
  calculation_method: 'fixed' | 'percentage_of_basic';
  default_amount: string | null;
  default_percentage: string | null;
  default_duration_months: number | null;
  min_value: string | null;
  max_value: string | null;
  is_active: boolean;
  employee_allowances_count?: number;
  created_at: string;
  updated_at: string;
}

export interface CreateAllowanceTypePayload {
  name: string;
  code: string;
  is_taxable?: boolean;
  is_statutory?: boolean;
  calculation_method?: 'fixed' | 'percentage_of_basic';
  default_amount?: number | null;
  default_percentage?: number | null;
  default_duration_months?: number | null;
  min_value?: number | null;
  max_value?: number | null;
  is_active?: boolean;
}

export interface UpdateAllowanceTypePayload extends Partial<CreateAllowanceTypePayload> {
  id: string;
}

export interface DeleteAllowanceTypePayload {
  message: string;
  id?: string;
}
