import { EnumCatCnh } from "../enums/enum-cat-cnh.enumeration";
import { EnumCndEst } from "../enums/enum-cnd-est";
import { EnumGraIns } from "../enums/enum-gra-ins";
import { EnumGraPar } from "../enums/enum-gra-par";
import { EnumRacCor } from "../enums/enum-rac-cor.enumeration";
import { EnumSitRegCon } from "../enums/enum-sit-reg-con";
import { EnumEstCiv } from "../enums/enum-tip-civ";
import { EnumTipCiv } from "../enums/enum-tip-civ.enumeration";
import { EnumTipSex } from "../enums/enum-tip-sex";
import { EnumTmpBra } from "../enums/enum-tmp-bra";
export interface PersonSaveInput {
    id?: string;
    basicData: BasicData;
    complementData: ComplementData;
    birthPlaceData: BirthPlaceData;
    addressData: AddressData;
    phoneData: PhoneData;
    emailData: EmailData;
    disabilityData: DisabilityData;
    personalData: PersonalData;
    professionalData: ProfessionalData;
    foreignerData: ForeignerData;
    nationalityData: NationalityData;
    additionalData: AdditionalData;
}
export interface SheetPersonData {
    basicData?: BasicData;
    complementData?: ComplementData;
    birthPlaceData?: BirthPlaceData;
    addressData?: AddressData;
    phoneData?: PhoneData;
    emailData?: EmailData;
    disabilityData?: DisabilityData;
}
export interface ProfilePictureData {
    personPhoto?: PersonPhotoData;
}
export interface BasicData {
    personId?: string;
    personPhoto?: PersonPhotoData;
    fullName: string;
    nickname?: string;
    genderType?: EnumTipSex;
    birthDate: string;
    parentName1?: string;
    kinshipDegreeType1?: EnumGraPar;
    parentName2?: string;
    kinshipDegreeType2?: EnumGraPar;
    kinshipDependentDegreeType?: EnumGraPar;
}
export interface PersonPhotoData {
    fileId: string;
    version: string;
}
export interface ComplementData {
    maritalStatusType?: EnumEstCiv;
    degreeOfEducationType?: EnumGraIns;
    nationalityId?: string;
    religion?: string;
    raceType?: EnumRacCor;
    socialName?: string;
    nacionality?: any;
}
export interface BirthPlaceData {
    countryId?: string;
    stateId?: string;
    cityId?: string;
}
export interface AddressData {
    postalCode?: string;
    zipCode?: string;
    countryId?: string;
    stateId?: string;
    cityId?: string;
    neighborhood?: string;
    district?: string;
    address?: string;
    number?: string;
    complement?: string;
}
export interface PhoneData {
    number?: string;
    extention?: string;
    secondNumber?: string;
    secondExtention?: string;
}
export interface EmailData {
    email?: string | string[];
}
export interface DisabilityData {
    disabled?: boolean;
    occupyQuota?: boolean;
    rehabilitated?: boolean;
    isPhysical?: boolean;
    isVisual?: boolean;
    isHearing?: boolean;
    isMental?: boolean;
    isIntellectual?: boolean;
    obsDef?: string;
}
export interface SheetDocumentsData {
    personalData?: PersonalData;
    professionalData?: ProfessionalData;
    nationalityData?: NationalityData;
    foreignerData?: ForeignerData;
    additionalData?: AdditionalData;
}
export interface PersonalData {
    cpf?: string;
    pis?: string;
    pisIssueDate?: string;
}
export interface ProfessionalData {
    ctpsNumber?: string;
    ctpsSerie?: string;
    stateId?: string;
    ctpsIssueDate?: string;
    professionalCouncilId?: string;
    professionalCouncilRecord?: number;
    professionalCouncilSituationType?: EnumSitRegCon;
    mteProfessionalRecord?: string;
    professionalCouncilIssueDate?: string;
    professionalCouncilRecordDueDate?: string;
}
export interface NationalityData {
    rgNumber?: string;
    rgIssuer?: string;
    rgIssuerStateId?: string;
    rgIssueDate?: string;
}
export interface ForeignerData {
    arrivalDate?: string;
    residencyPeriodType?: EnumTmpBra;
    foreignerConditionType?: EnumCndEst;
    foreignerNationalRegister?: string;
    foreignerNationalRegisterIssuer?: string;
    foreignerNationalRegisterIssueDate?: string;
    visaValidityDate?: string;
    ctpsValidityDate?: string;
    marriedWithBrazilian?: boolean;
    hasBrazilianChildren?: boolean;
    naturalizationNumber?: string;
    naturalizationDate?: string;
}
export interface AdditionalData {
    voterRegistrationCard?: string;
    pollingStation?: string;
    voterRegistrationSection?: string;
    cnh?: string;
    cnhCategoryType?: EnumCatCnh;
    stateId?: string;
    cnhIssueDate?: string;
    cnhValidityDate?: string;
    firstCnhDate?: string;
    reservistCertificate?: string;
    reservistCertificateCategory?: string;
    civilCertificateType?: EnumTipCiv;
    civilCertificateIssueDate?: string;
    civilCertificateRegisterNumber?: string;
    civilCertificateTerm?: string;
    civilCertificateBook?: string;
    civilCertificatePage?: string;
    civilCertificateNotaryOffice?: string;
    civilCertificateStateId?: any;
    nationalHealthCard?: string;
    declarationOfLiveBirth?: string;
}
export interface PersonSaveOutput {
    id: string;
}
