/**
 * Types para Médicos
 */

export type CrmUF =
  | "AC"
  | "AL"
  | "AP"
  | "AM"
  | "BA"
  | "CE"
  | "DF"
  | "ES"
  | "GO"
  | "MA"
  | "MT"
  | "MS"
  | "MG"
  | "PA"
  | "PB"
  | "PR"
  | "PE"
  | "PI"
  | "RJ"
  | "RN"
  | "RS"
  | "RO"
  | "RR"
  | "SC"
  | "SP"
  | "SE"
  | "TO";

export interface Doctor {
  id: string;
  user_id?: string | null;
  crm: string;
  crm_uf: CrmUF;
  specialty?: string | null;
  full_name: string;
  cpf: string;
  email: string;
  phone_mobile?: string | null;
  phone2?: string | null;
  cep?: string | null;
  street?: string | null;
  number?: string | null;
  complement?: string | null;
  neighborhood?: string | null;
  city?: string | null;
  state?: string | null;
  birth_date?: string | null;
  rg?: string | null;
  active: boolean;
  created_at: string;
  updated_at: string;
  created_by: string;
  updated_by?: string | null;
}

export interface CreateDoctorInput {
  user_id?: string | null;
  crm: string;
  crm_uf: CrmUF;
  specialty?: string | null;
  full_name: string;
  cpf: string;
  email: string;
  phone_mobile?: string | null;
  phone2?: string | null;
  cep?: string | null;
  street?: string | null;
  number?: string | null;
  complement?: string | null;
  neighborhood?: string | null;
  city?: string | null;
  state?: string | null;
  birth_date?: string | null;
  rg?: string | null;
  active?: boolean;
}

export interface UpdateDoctorInput {
  user_id?: string | null;
  crm?: string;
  crm_uf?: CrmUF;
  specialty?: string | null;
  full_name?: string;
  cpf?: string;
  email?: string;
  phone_mobile?: string | null;
  phone2?: string | null;
  cep?: string | null;
  street?: string | null;
  number?: string | null;
  complement?: string | null;
  neighborhood?: string | null;
  city?: string | null;
  state?: string | null;
  birth_date?: string | null;
  rg?: string | null;
  active?: boolean;
  avatar_url?: string | null;
}

export interface DoctorFilters {
  crm?: string;
  crm_uf?: CrmUF;
  specialty?: string;
  active?: boolean;
  full_name?: string;
}
