import { z } from 'zod';
import { PatientStatus, Gender, BloodType } from '../domains/patient';
export declare const PatientIdSchema: z.ZodBranded<z.ZodString, "PatientId">;
export declare const PatientCodeSchema: z.ZodBranded<z.ZodString, "PatientCode">;
export declare const PhoneNumberSchema: z.ZodBranded<z.ZodString, "PhoneNumber">;
export declare const PatientStatusSchema: z.ZodNativeEnum<typeof PatientStatus>;
export declare const GenderSchema: z.ZodNativeEnum<typeof Gender>;
export declare const BloodTypeSchema: z.ZodNativeEnum<typeof BloodType>;
export declare const PatientIdValueObjectSchema: z.ZodObject<{
    value: z.ZodBranded<z.ZodString, "PatientId">;
    format: z.ZodEnum<["uuid", "auto-increment", "custom"]>;
    createdAt: z.ZodDate;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    value: string & z.BRAND<"PatientId">;
    createdAt: Date;
    format: "uuid" | "custom" | "auto-increment";
    metadata?: Record<string, unknown> | undefined;
}, {
    value: string;
    createdAt: Date;
    format: "uuid" | "custom" | "auto-increment";
    metadata?: Record<string, unknown> | undefined;
}>;
export declare const PatientCodeValueObjectSchema: z.ZodObject<{
    value: z.ZodBranded<z.ZodString, "PatientCode">;
    format: z.ZodEnum<["numeric", "alphanumeric", "custom"]>;
    prefix: z.ZodOptional<z.ZodString>;
    sequence: z.ZodNumber;
    createdAt: z.ZodDate;
}, "strip", z.ZodTypeAny, {
    value: string & z.BRAND<"PatientCode">;
    createdAt: Date;
    format: "custom" | "numeric" | "alphanumeric";
    sequence: number;
    prefix?: string | undefined;
}, {
    value: string;
    createdAt: Date;
    format: "custom" | "numeric" | "alphanumeric";
    sequence: number;
    prefix?: string | undefined;
}>;
export declare const PhoneNumberValueObjectSchema: z.ZodObject<{
    value: z.ZodBranded<z.ZodString, "PhoneNumber">;
    type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
    isVerified: z.ZodBoolean;
    verifiedAt: z.ZodOptional<z.ZodDate>;
    isPrimary: z.ZodBoolean;
    createdAt: z.ZodDate;
}, "strip", z.ZodTypeAny, {
    value: string & z.BRAND<"PhoneNumber">;
    type: "mobile" | "emergency" | "home" | "work";
    createdAt: Date;
    isVerified: boolean;
    isPrimary: boolean;
    verifiedAt?: Date | undefined;
}, {
    value: string;
    type: "mobile" | "emergency" | "home" | "work";
    createdAt: Date;
    isVerified: boolean;
    isPrimary: boolean;
    verifiedAt?: Date | undefined;
}>;
export declare const AddressValueObjectSchema: z.ZodObject<{
    street: z.ZodString;
    city: z.ZodString;
    state: z.ZodString;
    postalCode: z.ZodString;
    country: z.ZodString;
    type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
    isVerified: z.ZodBoolean;
    verifiedAt: z.ZodOptional<z.ZodDate>;
    isPrimary: z.ZodBoolean;
    createdAt: z.ZodDate;
}, "strip", z.ZodTypeAny, {
    type: "home" | "billing" | "work" | "mailing";
    street: string;
    city: string;
    country: string;
    createdAt: Date;
    isVerified: boolean;
    state: string;
    postalCode: string;
    isPrimary: boolean;
    verifiedAt?: Date | undefined;
}, {
    type: "home" | "billing" | "work" | "mailing";
    street: string;
    city: string;
    country: string;
    createdAt: Date;
    isVerified: boolean;
    state: string;
    postalCode: string;
    isPrimary: boolean;
    verifiedAt?: Date | undefined;
}>;
export declare const PatientProfileSchema: z.ZodObject<{
    id: z.ZodBranded<z.ZodString, "PatientId">;
    firstName: z.ZodString;
    lastName: z.ZodString;
    middleName: z.ZodOptional<z.ZodString>;
    dateOfBirth: z.ZodDate;
    gender: z.ZodNativeEnum<typeof Gender>;
    bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
    height: z.ZodOptional<z.ZodNumber>;
    weight: z.ZodOptional<z.ZodNumber>;
    bmi: z.ZodOptional<z.ZodNumber>;
    ethnicity: z.ZodOptional<z.ZodString>;
    nationality: z.ZodOptional<z.ZodString>;
    language: z.ZodOptional<z.ZodString>;
    occupation: z.ZodOptional<z.ZodString>;
    education: z.ZodOptional<z.ZodString>;
    maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
    emergencyContact: z.ZodOptional<z.ZodObject<{
        name: z.ZodString;
        relationship: z.ZodString;
        phoneNumber: z.ZodBranded<z.ZodString, "PhoneNumber">;
        email: z.ZodOptional<z.ZodString>;
        address: z.ZodOptional<z.ZodObject<{
            street: z.ZodString;
            city: z.ZodString;
            state: z.ZodString;
            postalCode: z.ZodString;
            country: z.ZodString;
            type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
            isVerified: z.ZodBoolean;
            verifiedAt: z.ZodOptional<z.ZodDate>;
            isPrimary: z.ZodBoolean;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        phoneNumber: string & z.BRAND<"PhoneNumber">;
        name: string;
        relationship: string;
        email?: string | undefined;
        address?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        } | undefined;
    }, {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
        address?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        } | undefined;
    }>>;
    insurance: z.ZodOptional<z.ZodObject<{
        provider: z.ZodString;
        policyNumber: z.ZodString;
        groupNumber: z.ZodOptional<z.ZodString>;
        subscriberName: z.ZodString;
        relationship: z.ZodString;
        effectiveDate: z.ZodDate;
        expiryDate: z.ZodOptional<z.ZodDate>;
        copay: z.ZodOptional<z.ZodNumber>;
        deductible: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    }, {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    }>>;
    preferences: z.ZodOptional<z.ZodObject<{
        communicationMethod: z.ZodOptional<z.ZodEnum<["email", "sms", "phone", "mail"]>>;
        appointmentReminders: z.ZodOptional<z.ZodBoolean>;
        marketingConsent: z.ZodOptional<z.ZodBoolean>;
        privacyConsent: z.ZodOptional<z.ZodBoolean>;
        language: z.ZodOptional<z.ZodString>;
        timezone: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        language?: string | undefined;
        timezone?: string | undefined;
        communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
        appointmentReminders?: boolean | undefined;
        marketingConsent?: boolean | undefined;
        privacyConsent?: boolean | undefined;
    }, {
        language?: string | undefined;
        timezone?: string | undefined;
        communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
        appointmentReminders?: boolean | undefined;
        marketingConsent?: boolean | undefined;
        privacyConsent?: boolean | undefined;
    }>>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
    createdBy: z.ZodOptional<z.ZodString>;
    updatedBy: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    id: string & z.BRAND<"PatientId">;
    createdAt: Date;
    updatedAt: Date;
    firstName: string;
    lastName: string;
    dateOfBirth: Date;
    gender: Gender;
    insurance?: {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    } | undefined;
    createdBy?: string | undefined;
    updatedBy?: string | undefined;
    middleName?: string | undefined;
    bloodType?: BloodType | undefined;
    height?: number | undefined;
    weight?: number | undefined;
    bmi?: number | undefined;
    emergencyContact?: {
        phoneNumber: string & z.BRAND<"PhoneNumber">;
        name: string;
        relationship: string;
        email?: string | undefined;
        address?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        } | undefined;
    } | undefined;
    preferences?: {
        language?: string | undefined;
        timezone?: string | undefined;
        communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
        appointmentReminders?: boolean | undefined;
        marketingConsent?: boolean | undefined;
        privacyConsent?: boolean | undefined;
    } | undefined;
    language?: string | undefined;
    education?: string | undefined;
    ethnicity?: string | undefined;
    nationality?: string | undefined;
    occupation?: string | undefined;
    maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
}, {
    id: string;
    createdAt: Date;
    updatedAt: Date;
    firstName: string;
    lastName: string;
    dateOfBirth: Date;
    gender: Gender;
    insurance?: {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    } | undefined;
    createdBy?: string | undefined;
    updatedBy?: string | undefined;
    middleName?: string | undefined;
    bloodType?: BloodType | undefined;
    height?: number | undefined;
    weight?: number | undefined;
    bmi?: number | undefined;
    emergencyContact?: {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
        address?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        } | undefined;
    } | undefined;
    preferences?: {
        language?: string | undefined;
        timezone?: string | undefined;
        communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
        appointmentReminders?: boolean | undefined;
        marketingConsent?: boolean | undefined;
        privacyConsent?: boolean | undefined;
    } | undefined;
    language?: string | undefined;
    education?: string | undefined;
    ethnicity?: string | undefined;
    nationality?: string | undefined;
    occupation?: string | undefined;
    maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
}>;
export declare const MedicalHistorySchema: z.ZodObject<{
    id: z.ZodString;
    patientId: z.ZodBranded<z.ZodString, "PatientId">;
    allergies: z.ZodOptional<z.ZodArray<z.ZodObject<{
        allergen: z.ZodString;
        severity: z.ZodEnum<["mild", "moderate", "severe"]>;
        reaction: z.ZodString;
        onsetDate: z.ZodOptional<z.ZodDate>;
        isActive: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        severity: "moderate" | "mild" | "severe";
        isActive: boolean;
        allergen: string;
        reaction: string;
        onsetDate?: Date | undefined;
    }, {
        severity: "moderate" | "mild" | "severe";
        isActive: boolean;
        allergen: string;
        reaction: string;
        onsetDate?: Date | undefined;
    }>, "many">>;
    medications: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        dosage: z.ZodString;
        frequency: z.ZodString;
        route: z.ZodEnum<["oral", "intravenous", "intramuscular", "subcutaneous", "topical", "inhalation"]>;
        startDate: z.ZodDate;
        endDate: z.ZodOptional<z.ZodDate>;
        isActive: z.ZodBoolean;
        prescribedBy: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        dosage: string;
        frequency: string;
        route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
        startDate: Date;
        isActive: boolean;
        notes?: string | undefined;
        endDate?: Date | undefined;
        prescribedBy?: string | undefined;
    }, {
        name: string;
        dosage: string;
        frequency: string;
        route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
        startDate: Date;
        isActive: boolean;
        notes?: string | undefined;
        endDate?: Date | undefined;
        prescribedBy?: string | undefined;
    }>, "many">>;
    conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        icd10Code: z.ZodOptional<z.ZodString>;
        diagnosisDate: z.ZodDate;
        severity: z.ZodEnum<["mild", "moderate", "severe"]>;
        isActive: z.ZodBoolean;
        notes: z.ZodOptional<z.ZodString>;
        diagnosedBy: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        severity: "moderate" | "mild" | "severe";
        isActive: boolean;
        diagnosisDate: Date;
        notes?: string | undefined;
        icd10Code?: string | undefined;
        diagnosedBy?: string | undefined;
    }, {
        name: string;
        severity: "moderate" | "mild" | "severe";
        isActive: boolean;
        diagnosisDate: Date;
        notes?: string | undefined;
        icd10Code?: string | undefined;
        diagnosedBy?: string | undefined;
    }>, "many">>;
    surgeries: z.ZodOptional<z.ZodArray<z.ZodObject<{
        procedure: z.ZodString;
        date: z.ZodDate;
        surgeon: z.ZodOptional<z.ZodString>;
        hospital: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
        complications: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        procedure: string;
        date: Date;
        hospital?: string | undefined;
        notes?: string | undefined;
        surgeon?: string | undefined;
        complications?: string | undefined;
    }, {
        procedure: string;
        date: Date;
        hospital?: string | undefined;
        notes?: string | undefined;
        surgeon?: string | undefined;
        complications?: string | undefined;
    }>, "many">>;
    immunizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
        vaccine: z.ZodString;
        date: z.ZodDate;
        nextDueDate: z.ZodOptional<z.ZodDate>;
        administeredBy: z.ZodOptional<z.ZodString>;
        lotNumber: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        date: Date;
        vaccine: string;
        notes?: string | undefined;
        nextDueDate?: Date | undefined;
        administeredBy?: string | undefined;
        lotNumber?: string | undefined;
    }, {
        date: Date;
        vaccine: string;
        notes?: string | undefined;
        nextDueDate?: Date | undefined;
        administeredBy?: string | undefined;
        lotNumber?: string | undefined;
    }>, "many">>;
    familyHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
        relationship: z.ZodString;
        condition: z.ZodString;
        ageOfOnset: z.ZodOptional<z.ZodNumber>;
        isDeceased: z.ZodOptional<z.ZodBoolean>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        relationship: string;
        condition: string;
        notes?: string | undefined;
        ageOfOnset?: number | undefined;
        isDeceased?: boolean | undefined;
    }, {
        relationship: string;
        condition: string;
        notes?: string | undefined;
        ageOfOnset?: number | undefined;
        isDeceased?: boolean | undefined;
    }>, "many">>;
    socialHistory: z.ZodOptional<z.ZodObject<{
        smoking: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
        alcohol: z.ZodOptional<z.ZodEnum<["never", "occasional", "moderate", "heavy"]>>;
        drugs: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
        exercise: z.ZodOptional<z.ZodEnum<["none", "light", "moderate", "heavy"]>>;
        diet: z.ZodOptional<z.ZodString>;
        occupation: z.ZodOptional<z.ZodString>;
        livingSituation: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        notes?: string | undefined;
        exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
        occupation?: string | undefined;
        smoking?: "never" | "former" | "current" | undefined;
        alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
        drugs?: "never" | "former" | "current" | undefined;
        diet?: string | undefined;
        livingSituation?: string | undefined;
    }, {
        notes?: string | undefined;
        exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
        occupation?: string | undefined;
        smoking?: "never" | "former" | "current" | undefined;
        alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
        drugs?: "never" | "former" | "current" | undefined;
        diet?: string | undefined;
        livingSituation?: string | undefined;
    }>>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
    createdBy: z.ZodOptional<z.ZodString>;
    updatedBy: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    id: string;
    createdAt: Date;
    updatedAt: Date;
    patientId: string & z.BRAND<"PatientId">;
    createdBy?: string | undefined;
    updatedBy?: string | undefined;
    allergies?: {
        severity: "moderate" | "mild" | "severe";
        isActive: boolean;
        allergen: string;
        reaction: string;
        onsetDate?: Date | undefined;
    }[] | undefined;
    familyHistory?: {
        relationship: string;
        condition: string;
        notes?: string | undefined;
        ageOfOnset?: number | undefined;
        isDeceased?: boolean | undefined;
    }[] | undefined;
    immunizations?: {
        date: Date;
        vaccine: string;
        notes?: string | undefined;
        nextDueDate?: Date | undefined;
        administeredBy?: string | undefined;
        lotNumber?: string | undefined;
    }[] | undefined;
    socialHistory?: {
        notes?: string | undefined;
        exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
        occupation?: string | undefined;
        smoking?: "never" | "former" | "current" | undefined;
        alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
        drugs?: "never" | "former" | "current" | undefined;
        diet?: string | undefined;
        livingSituation?: string | undefined;
    } | undefined;
    medications?: {
        name: string;
        dosage: string;
        frequency: string;
        route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
        startDate: Date;
        isActive: boolean;
        notes?: string | undefined;
        endDate?: Date | undefined;
        prescribedBy?: string | undefined;
    }[] | undefined;
    conditions?: {
        name: string;
        severity: "moderate" | "mild" | "severe";
        isActive: boolean;
        diagnosisDate: Date;
        notes?: string | undefined;
        icd10Code?: string | undefined;
        diagnosedBy?: string | undefined;
    }[] | undefined;
    surgeries?: {
        procedure: string;
        date: Date;
        hospital?: string | undefined;
        notes?: string | undefined;
        surgeon?: string | undefined;
        complications?: string | undefined;
    }[] | undefined;
}, {
    id: string;
    createdAt: Date;
    updatedAt: Date;
    patientId: string;
    createdBy?: string | undefined;
    updatedBy?: string | undefined;
    allergies?: {
        severity: "moderate" | "mild" | "severe";
        isActive: boolean;
        allergen: string;
        reaction: string;
        onsetDate?: Date | undefined;
    }[] | undefined;
    familyHistory?: {
        relationship: string;
        condition: string;
        notes?: string | undefined;
        ageOfOnset?: number | undefined;
        isDeceased?: boolean | undefined;
    }[] | undefined;
    immunizations?: {
        date: Date;
        vaccine: string;
        notes?: string | undefined;
        nextDueDate?: Date | undefined;
        administeredBy?: string | undefined;
        lotNumber?: string | undefined;
    }[] | undefined;
    socialHistory?: {
        notes?: string | undefined;
        exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
        occupation?: string | undefined;
        smoking?: "never" | "former" | "current" | undefined;
        alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
        drugs?: "never" | "former" | "current" | undefined;
        diet?: string | undefined;
        livingSituation?: string | undefined;
    } | undefined;
    medications?: {
        name: string;
        dosage: string;
        frequency: string;
        route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
        startDate: Date;
        isActive: boolean;
        notes?: string | undefined;
        endDate?: Date | undefined;
        prescribedBy?: string | undefined;
    }[] | undefined;
    conditions?: {
        name: string;
        severity: "moderate" | "mild" | "severe";
        isActive: boolean;
        diagnosisDate: Date;
        notes?: string | undefined;
        icd10Code?: string | undefined;
        diagnosedBy?: string | undefined;
    }[] | undefined;
    surgeries?: {
        procedure: string;
        date: Date;
        hospital?: string | undefined;
        notes?: string | undefined;
        surgeon?: string | undefined;
        complications?: string | undefined;
    }[] | undefined;
}>;
export declare const PatientSchema: z.ZodObject<{
    id: z.ZodBranded<z.ZodString, "PatientId">;
    code: z.ZodObject<{
        value: z.ZodBranded<z.ZodString, "PatientCode">;
        format: z.ZodEnum<["numeric", "alphanumeric", "custom"]>;
        prefix: z.ZodOptional<z.ZodString>;
        sequence: z.ZodNumber;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        value: string & z.BRAND<"PatientCode">;
        createdAt: Date;
        format: "custom" | "numeric" | "alphanumeric";
        sequence: number;
        prefix?: string | undefined;
    }, {
        value: string;
        createdAt: Date;
        format: "custom" | "numeric" | "alphanumeric";
        sequence: number;
        prefix?: string | undefined;
    }>;
    status: z.ZodNativeEnum<typeof PatientStatus>;
    profile: z.ZodObject<{
        id: z.ZodBranded<z.ZodString, "PatientId">;
        firstName: z.ZodString;
        lastName: z.ZodString;
        middleName: z.ZodOptional<z.ZodString>;
        dateOfBirth: z.ZodDate;
        gender: z.ZodNativeEnum<typeof Gender>;
        bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
        height: z.ZodOptional<z.ZodNumber>;
        weight: z.ZodOptional<z.ZodNumber>;
        bmi: z.ZodOptional<z.ZodNumber>;
        ethnicity: z.ZodOptional<z.ZodString>;
        nationality: z.ZodOptional<z.ZodString>;
        language: z.ZodOptional<z.ZodString>;
        occupation: z.ZodOptional<z.ZodString>;
        education: z.ZodOptional<z.ZodString>;
        maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
        emergencyContact: z.ZodOptional<z.ZodObject<{
            name: z.ZodString;
            relationship: z.ZodString;
            phoneNumber: z.ZodBranded<z.ZodString, "PhoneNumber">;
            email: z.ZodOptional<z.ZodString>;
            address: z.ZodOptional<z.ZodObject<{
                street: z.ZodString;
                city: z.ZodString;
                state: z.ZodString;
                postalCode: z.ZodString;
                country: z.ZodString;
                type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
                isVerified: z.ZodBoolean;
                verifiedAt: z.ZodOptional<z.ZodDate>;
                isPrimary: z.ZodBoolean;
                createdAt: z.ZodDate;
            }, "strip", z.ZodTypeAny, {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            }, {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            phoneNumber: string & z.BRAND<"PhoneNumber">;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        }, {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        }>>;
        insurance: z.ZodOptional<z.ZodObject<{
            provider: z.ZodString;
            policyNumber: z.ZodString;
            groupNumber: z.ZodOptional<z.ZodString>;
            subscriberName: z.ZodString;
            relationship: z.ZodString;
            effectiveDate: z.ZodDate;
            expiryDate: z.ZodOptional<z.ZodDate>;
            copay: z.ZodOptional<z.ZodNumber>;
            deductible: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        }, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        }>>;
        preferences: z.ZodOptional<z.ZodObject<{
            communicationMethod: z.ZodOptional<z.ZodEnum<["email", "sms", "phone", "mail"]>>;
            appointmentReminders: z.ZodOptional<z.ZodBoolean>;
            marketingConsent: z.ZodOptional<z.ZodBoolean>;
            privacyConsent: z.ZodOptional<z.ZodBoolean>;
            language: z.ZodOptional<z.ZodString>;
            timezone: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        }, {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        }>>;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
        createdBy: z.ZodOptional<z.ZodString>;
        updatedBy: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id: string & z.BRAND<"PatientId">;
        createdAt: Date;
        updatedAt: Date;
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        gender: Gender;
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        } | undefined;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        middleName?: string | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        bmi?: number | undefined;
        emergencyContact?: {
            phoneNumber: string & z.BRAND<"PhoneNumber">;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        } | undefined;
        preferences?: {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        } | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    }, {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        gender: Gender;
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        } | undefined;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        middleName?: string | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        bmi?: number | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        } | undefined;
        preferences?: {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        } | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    }>;
    medicalHistory: z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        patientId: z.ZodBranded<z.ZodString, "PatientId">;
        allergies: z.ZodOptional<z.ZodArray<z.ZodObject<{
            allergen: z.ZodString;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            reaction: z.ZodString;
            onsetDate: z.ZodOptional<z.ZodDate>;
            isActive: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }, {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }>, "many">>;
        medications: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            dosage: z.ZodString;
            frequency: z.ZodString;
            route: z.ZodEnum<["oral", "intravenous", "intramuscular", "subcutaneous", "topical", "inhalation"]>;
            startDate: z.ZodDate;
            endDate: z.ZodOptional<z.ZodDate>;
            isActive: z.ZodBoolean;
            prescribedBy: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            isActive: boolean;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }, {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            isActive: boolean;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }>, "many">>;
        conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            icd10Code: z.ZodOptional<z.ZodString>;
            diagnosisDate: z.ZodDate;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            isActive: z.ZodBoolean;
            notes: z.ZodOptional<z.ZodString>;
            diagnosedBy: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }, {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }>, "many">>;
        surgeries: z.ZodOptional<z.ZodArray<z.ZodObject<{
            procedure: z.ZodString;
            date: z.ZodDate;
            surgeon: z.ZodOptional<z.ZodString>;
            hospital: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
            complications: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }, {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }>, "many">>;
        immunizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
            vaccine: z.ZodString;
            date: z.ZodDate;
            nextDueDate: z.ZodOptional<z.ZodDate>;
            administeredBy: z.ZodOptional<z.ZodString>;
            lotNumber: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }, {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }>, "many">>;
        familyHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
            relationship: z.ZodString;
            condition: z.ZodString;
            ageOfOnset: z.ZodOptional<z.ZodNumber>;
            isDeceased: z.ZodOptional<z.ZodBoolean>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }, {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }>, "many">>;
        socialHistory: z.ZodOptional<z.ZodObject<{
            smoking: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
            alcohol: z.ZodOptional<z.ZodEnum<["never", "occasional", "moderate", "heavy"]>>;
            drugs: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
            exercise: z.ZodOptional<z.ZodEnum<["none", "light", "moderate", "heavy"]>>;
            diet: z.ZodOptional<z.ZodString>;
            occupation: z.ZodOptional<z.ZodString>;
            livingSituation: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        }, {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        }>>;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
        createdBy: z.ZodOptional<z.ZodString>;
        updatedBy: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        patientId: string & z.BRAND<"PatientId">;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        allergies?: {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }[] | undefined;
        familyHistory?: {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }[] | undefined;
        immunizations?: {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }[] | undefined;
        socialHistory?: {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        } | undefined;
        medications?: {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            isActive: boolean;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }[] | undefined;
        conditions?: {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }[] | undefined;
        surgeries?: {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }[] | undefined;
    }, {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        patientId: string;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        allergies?: {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }[] | undefined;
        familyHistory?: {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }[] | undefined;
        immunizations?: {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }[] | undefined;
        socialHistory?: {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        } | undefined;
        medications?: {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            isActive: boolean;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }[] | undefined;
        conditions?: {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }[] | undefined;
        surgeries?: {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }[] | undefined;
    }>>;
    phoneNumbers: z.ZodOptional<z.ZodArray<z.ZodObject<{
        value: z.ZodBranded<z.ZodString, "PhoneNumber">;
        type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
        isVerified: z.ZodBoolean;
        verifiedAt: z.ZodOptional<z.ZodDate>;
        isPrimary: z.ZodBoolean;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        value: string & z.BRAND<"PhoneNumber">;
        type: "mobile" | "emergency" | "home" | "work";
        createdAt: Date;
        isVerified: boolean;
        isPrimary: boolean;
        verifiedAt?: Date | undefined;
    }, {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        createdAt: Date;
        isVerified: boolean;
        isPrimary: boolean;
        verifiedAt?: Date | undefined;
    }>, "many">>;
    addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
        street: z.ZodString;
        city: z.ZodString;
        state: z.ZodString;
        postalCode: z.ZodString;
        country: z.ZodString;
        type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
        isVerified: z.ZodBoolean;
        verifiedAt: z.ZodOptional<z.ZodDate>;
        isPrimary: z.ZodBoolean;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        createdAt: Date;
        isVerified: boolean;
        state: string;
        postalCode: string;
        isPrimary: boolean;
        verifiedAt?: Date | undefined;
    }, {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        createdAt: Date;
        isVerified: boolean;
        state: string;
        postalCode: string;
        isPrimary: boolean;
        verifiedAt?: Date | undefined;
    }>, "many">>;
    emergencyContacts: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        relationship: z.ZodString;
        phoneNumber: z.ZodObject<{
            value: z.ZodBranded<z.ZodString, "PhoneNumber">;
            type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
            isVerified: z.ZodBoolean;
            verifiedAt: z.ZodOptional<z.ZodDate>;
            isPrimary: z.ZodBoolean;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            value: string & z.BRAND<"PhoneNumber">;
            type: "mobile" | "emergency" | "home" | "work";
            createdAt: Date;
            isVerified: boolean;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }, {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            createdAt: Date;
            isVerified: boolean;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }>;
        email: z.ZodOptional<z.ZodString>;
        address: z.ZodOptional<z.ZodObject<{
            street: z.ZodString;
            city: z.ZodString;
            state: z.ZodString;
            postalCode: z.ZodString;
            country: z.ZodString;
            type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
            isVerified: z.ZodBoolean;
            verifiedAt: z.ZodOptional<z.ZodDate>;
            isPrimary: z.ZodBoolean;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }>>;
        isPrimary: z.ZodBoolean;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        createdAt: Date;
        phoneNumber: {
            value: string & z.BRAND<"PhoneNumber">;
            type: "mobile" | "emergency" | "home" | "work";
            createdAt: Date;
            isVerified: boolean;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        };
        name: string;
        isPrimary: boolean;
        relationship: string;
        email?: string | undefined;
        address?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        } | undefined;
    }, {
        createdAt: Date;
        phoneNumber: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            createdAt: Date;
            isVerified: boolean;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        };
        name: string;
        isPrimary: boolean;
        relationship: string;
        email?: string | undefined;
        address?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        } | undefined;
    }>, "many">>;
    insurance: z.ZodOptional<z.ZodArray<z.ZodObject<{
        provider: z.ZodString;
        policyNumber: z.ZodString;
        groupNumber: z.ZodOptional<z.ZodString>;
        subscriberName: z.ZodString;
        relationship: z.ZodString;
        effectiveDate: z.ZodDate;
        expiryDate: z.ZodOptional<z.ZodDate>;
        copay: z.ZodOptional<z.ZodNumber>;
        deductible: z.ZodOptional<z.ZodNumber>;
        isPrimary: z.ZodBoolean;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        createdAt: Date;
        provider: string;
        isPrimary: boolean;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    }, {
        createdAt: Date;
        provider: string;
        isPrimary: boolean;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    }>, "many">>;
    documents: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        type: z.ZodEnum<["id", "insurance", "medical", "consent", "other"]>;
        name: z.ZodString;
        url: z.ZodString;
        size: z.ZodNumber;
        mimeType: z.ZodString;
        uploadedAt: z.ZodDate;
        uploadedBy: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "other" | "medical" | "insurance" | "id" | "consent";
        id: string;
        name: string;
        url: string;
        size: number;
        mimeType: string;
        uploadedAt: Date;
        uploadedBy?: string | undefined;
    }, {
        type: "other" | "medical" | "insurance" | "id" | "consent";
        id: string;
        name: string;
        url: string;
        size: number;
        mimeType: string;
        uploadedAt: Date;
        uploadedBy?: string | undefined;
    }>, "many">>;
    notes: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        content: z.ZodString;
        type: z.ZodEnum<["general", "clinical", "administrative"]>;
        isPrivate: z.ZodBoolean;
        createdBy: z.ZodString;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        type: "administrative" | "general" | "clinical";
        id: string;
        createdAt: Date;
        updatedAt: Date;
        createdBy: string;
        content: string;
        isPrivate: boolean;
    }, {
        type: "administrative" | "general" | "clinical";
        id: string;
        createdAt: Date;
        updatedAt: Date;
        createdBy: string;
        content: string;
        isPrivate: boolean;
    }>, "many">>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
    createdBy: z.ZodOptional<z.ZodString>;
    updatedBy: z.ZodOptional<z.ZodString>;
    deletedAt: z.ZodOptional<z.ZodDate>;
}, "strip", z.ZodTypeAny, {
    id: string & z.BRAND<"PatientId">;
    createdAt: Date;
    updatedAt: Date;
    status: PatientStatus;
    code: {
        value: string & z.BRAND<"PatientCode">;
        createdAt: Date;
        format: "custom" | "numeric" | "alphanumeric";
        sequence: number;
        prefix?: string | undefined;
    };
    profile: {
        id: string & z.BRAND<"PatientId">;
        createdAt: Date;
        updatedAt: Date;
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        gender: Gender;
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        } | undefined;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        middleName?: string | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        bmi?: number | undefined;
        emergencyContact?: {
            phoneNumber: string & z.BRAND<"PhoneNumber">;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        } | undefined;
        preferences?: {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        } | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    };
    insurance?: {
        createdAt: Date;
        provider: string;
        isPrimary: boolean;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    }[] | undefined;
    createdBy?: string | undefined;
    updatedBy?: string | undefined;
    tags?: string[] | undefined;
    notes?: {
        type: "administrative" | "general" | "clinical";
        id: string;
        createdAt: Date;
        updatedAt: Date;
        createdBy: string;
        content: string;
        isPrivate: boolean;
    }[] | undefined;
    deletedAt?: Date | undefined;
    medicalHistory?: {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        patientId: string & z.BRAND<"PatientId">;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        allergies?: {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }[] | undefined;
        familyHistory?: {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }[] | undefined;
        immunizations?: {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }[] | undefined;
        socialHistory?: {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        } | undefined;
        medications?: {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            isActive: boolean;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }[] | undefined;
        conditions?: {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }[] | undefined;
        surgeries?: {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }[] | undefined;
    } | undefined;
    phoneNumbers?: {
        value: string & z.BRAND<"PhoneNumber">;
        type: "mobile" | "emergency" | "home" | "work";
        createdAt: Date;
        isVerified: boolean;
        isPrimary: boolean;
        verifiedAt?: Date | undefined;
    }[] | undefined;
    addresses?: {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        createdAt: Date;
        isVerified: boolean;
        state: string;
        postalCode: string;
        isPrimary: boolean;
        verifiedAt?: Date | undefined;
    }[] | undefined;
    emergencyContacts?: {
        createdAt: Date;
        phoneNumber: {
            value: string & z.BRAND<"PhoneNumber">;
            type: "mobile" | "emergency" | "home" | "work";
            createdAt: Date;
            isVerified: boolean;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        };
        name: string;
        isPrimary: boolean;
        relationship: string;
        email?: string | undefined;
        address?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        } | undefined;
    }[] | undefined;
    documents?: {
        type: "other" | "medical" | "insurance" | "id" | "consent";
        id: string;
        name: string;
        url: string;
        size: number;
        mimeType: string;
        uploadedAt: Date;
        uploadedBy?: string | undefined;
    }[] | undefined;
}, {
    id: string;
    createdAt: Date;
    updatedAt: Date;
    status: PatientStatus;
    code: {
        value: string;
        createdAt: Date;
        format: "custom" | "numeric" | "alphanumeric";
        sequence: number;
        prefix?: string | undefined;
    };
    profile: {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        gender: Gender;
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        } | undefined;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        middleName?: string | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        bmi?: number | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        } | undefined;
        preferences?: {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        } | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    };
    insurance?: {
        createdAt: Date;
        provider: string;
        isPrimary: boolean;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    }[] | undefined;
    createdBy?: string | undefined;
    updatedBy?: string | undefined;
    tags?: string[] | undefined;
    notes?: {
        type: "administrative" | "general" | "clinical";
        id: string;
        createdAt: Date;
        updatedAt: Date;
        createdBy: string;
        content: string;
        isPrivate: boolean;
    }[] | undefined;
    deletedAt?: Date | undefined;
    medicalHistory?: {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        patientId: string;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        allergies?: {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }[] | undefined;
        familyHistory?: {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }[] | undefined;
        immunizations?: {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }[] | undefined;
        socialHistory?: {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        } | undefined;
        medications?: {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            isActive: boolean;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }[] | undefined;
        conditions?: {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }[] | undefined;
        surgeries?: {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }[] | undefined;
    } | undefined;
    phoneNumbers?: {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        createdAt: Date;
        isVerified: boolean;
        isPrimary: boolean;
        verifiedAt?: Date | undefined;
    }[] | undefined;
    addresses?: {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        createdAt: Date;
        isVerified: boolean;
        state: string;
        postalCode: string;
        isPrimary: boolean;
        verifiedAt?: Date | undefined;
    }[] | undefined;
    emergencyContacts?: {
        createdAt: Date;
        phoneNumber: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            createdAt: Date;
            isVerified: boolean;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        };
        name: string;
        isPrimary: boolean;
        relationship: string;
        email?: string | undefined;
        address?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        } | undefined;
    }[] | undefined;
    documents?: {
        type: "other" | "medical" | "insurance" | "id" | "consent";
        id: string;
        name: string;
        url: string;
        size: number;
        mimeType: string;
        uploadedAt: Date;
        uploadedBy?: string | undefined;
    }[] | undefined;
}>;
export declare const CreatePatientRequestSchema: z.ZodObject<{
    firstName: z.ZodString;
    lastName: z.ZodString;
    middleName: z.ZodOptional<z.ZodString>;
    dateOfBirth: z.ZodDate;
    gender: z.ZodNativeEnum<typeof Gender>;
    bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
    height: z.ZodOptional<z.ZodNumber>;
    weight: z.ZodOptional<z.ZodNumber>;
    ethnicity: z.ZodOptional<z.ZodString>;
    nationality: z.ZodOptional<z.ZodString>;
    language: z.ZodOptional<z.ZodString>;
    occupation: z.ZodOptional<z.ZodString>;
    education: z.ZodOptional<z.ZodString>;
    maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
    phoneNumbers: z.ZodOptional<z.ZodArray<z.ZodObject<{
        value: z.ZodString;
        type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
        isPrimary: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        isPrimary?: boolean | undefined;
    }, {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        isPrimary?: boolean | undefined;
    }>, "many">>;
    addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
        street: z.ZodString;
        city: z.ZodString;
        state: z.ZodString;
        postalCode: z.ZodString;
        country: z.ZodString;
        type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
        isPrimary: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        state: string;
        postalCode: string;
        isPrimary?: boolean | undefined;
    }, {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        state: string;
        postalCode: string;
        isPrimary?: boolean | undefined;
    }>, "many">>;
    emergencyContact: z.ZodOptional<z.ZodObject<{
        name: z.ZodString;
        relationship: z.ZodString;
        phoneNumber: z.ZodString;
        email: z.ZodOptional<z.ZodString>;
        address: z.ZodOptional<z.ZodObject<{
            street: z.ZodString;
            city: z.ZodString;
            state: z.ZodString;
            postalCode: z.ZodString;
            country: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
        }, {
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
        }>>;
    }, "strip", z.ZodTypeAny, {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
        address?: {
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
        } | undefined;
    }, {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
        address?: {
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
        } | undefined;
    }>>;
    insurance: z.ZodOptional<z.ZodObject<{
        provider: z.ZodString;
        policyNumber: z.ZodString;
        groupNumber: z.ZodOptional<z.ZodString>;
        subscriberName: z.ZodString;
        relationship: z.ZodString;
        effectiveDate: z.ZodDate;
        expiryDate: z.ZodOptional<z.ZodDate>;
        copay: z.ZodOptional<z.ZodNumber>;
        deductible: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    }, {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    }>>;
    preferences: z.ZodOptional<z.ZodObject<{
        communicationMethod: z.ZodOptional<z.ZodEnum<["email", "sms", "phone", "mail"]>>;
        appointmentReminders: z.ZodOptional<z.ZodBoolean>;
        marketingConsent: z.ZodOptional<z.ZodBoolean>;
        privacyConsent: z.ZodOptional<z.ZodBoolean>;
        language: z.ZodOptional<z.ZodString>;
        timezone: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        language?: string | undefined;
        timezone?: string | undefined;
        communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
        appointmentReminders?: boolean | undefined;
        marketingConsent?: boolean | undefined;
        privacyConsent?: boolean | undefined;
    }, {
        language?: string | undefined;
        timezone?: string | undefined;
        communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
        appointmentReminders?: boolean | undefined;
        marketingConsent?: boolean | undefined;
        privacyConsent?: boolean | undefined;
    }>>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    firstName: string;
    lastName: string;
    dateOfBirth: Date;
    gender: Gender;
    insurance?: {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    } | undefined;
    tags?: string[] | undefined;
    middleName?: string | undefined;
    bloodType?: BloodType | undefined;
    height?: number | undefined;
    weight?: number | undefined;
    emergencyContact?: {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
        address?: {
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
        } | undefined;
    } | undefined;
    preferences?: {
        language?: string | undefined;
        timezone?: string | undefined;
        communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
        appointmentReminders?: boolean | undefined;
        marketingConsent?: boolean | undefined;
        privacyConsent?: boolean | undefined;
    } | undefined;
    language?: string | undefined;
    education?: string | undefined;
    ethnicity?: string | undefined;
    nationality?: string | undefined;
    occupation?: string | undefined;
    maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    phoneNumbers?: {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        isPrimary?: boolean | undefined;
    }[] | undefined;
    addresses?: {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        state: string;
        postalCode: string;
        isPrimary?: boolean | undefined;
    }[] | undefined;
}, {
    firstName: string;
    lastName: string;
    dateOfBirth: Date;
    gender: Gender;
    insurance?: {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    } | undefined;
    tags?: string[] | undefined;
    middleName?: string | undefined;
    bloodType?: BloodType | undefined;
    height?: number | undefined;
    weight?: number | undefined;
    emergencyContact?: {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
        address?: {
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
        } | undefined;
    } | undefined;
    preferences?: {
        language?: string | undefined;
        timezone?: string | undefined;
        communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
        appointmentReminders?: boolean | undefined;
        marketingConsent?: boolean | undefined;
        privacyConsent?: boolean | undefined;
    } | undefined;
    language?: string | undefined;
    education?: string | undefined;
    ethnicity?: string | undefined;
    nationality?: string | undefined;
    occupation?: string | undefined;
    maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    phoneNumbers?: {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        isPrimary?: boolean | undefined;
    }[] | undefined;
    addresses?: {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        state: string;
        postalCode: string;
        isPrimary?: boolean | undefined;
    }[] | undefined;
}>;
export declare const UpdatePatientRequestSchema: z.ZodObject<{
    firstName: z.ZodOptional<z.ZodString>;
    lastName: z.ZodOptional<z.ZodString>;
    middleName: z.ZodOptional<z.ZodString>;
    dateOfBirth: z.ZodOptional<z.ZodDate>;
    gender: z.ZodOptional<z.ZodNativeEnum<typeof Gender>>;
    bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
    height: z.ZodOptional<z.ZodNumber>;
    weight: z.ZodOptional<z.ZodNumber>;
    ethnicity: z.ZodOptional<z.ZodString>;
    nationality: z.ZodOptional<z.ZodString>;
    language: z.ZodOptional<z.ZodString>;
    occupation: z.ZodOptional<z.ZodString>;
    education: z.ZodOptional<z.ZodString>;
    maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
    status: z.ZodOptional<z.ZodNativeEnum<typeof PatientStatus>>;
    phoneNumbers: z.ZodOptional<z.ZodArray<z.ZodObject<{
        value: z.ZodString;
        type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
        isPrimary: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        isPrimary?: boolean | undefined;
    }, {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        isPrimary?: boolean | undefined;
    }>, "many">>;
    addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
        street: z.ZodString;
        city: z.ZodString;
        state: z.ZodString;
        postalCode: z.ZodString;
        country: z.ZodString;
        type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
        isPrimary: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        state: string;
        postalCode: string;
        isPrimary?: boolean | undefined;
    }, {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        state: string;
        postalCode: string;
        isPrimary?: boolean | undefined;
    }>, "many">>;
    emergencyContact: z.ZodOptional<z.ZodObject<{
        name: z.ZodString;
        relationship: z.ZodString;
        phoneNumber: z.ZodString;
        email: z.ZodOptional<z.ZodString>;
        address: z.ZodOptional<z.ZodObject<{
            street: z.ZodString;
            city: z.ZodString;
            state: z.ZodString;
            postalCode: z.ZodString;
            country: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
        }, {
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
        }>>;
    }, "strip", z.ZodTypeAny, {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
        address?: {
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
        } | undefined;
    }, {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
        address?: {
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
        } | undefined;
    }>>;
    insurance: z.ZodOptional<z.ZodObject<{
        provider: z.ZodString;
        policyNumber: z.ZodString;
        groupNumber: z.ZodOptional<z.ZodString>;
        subscriberName: z.ZodString;
        relationship: z.ZodString;
        effectiveDate: z.ZodDate;
        expiryDate: z.ZodOptional<z.ZodDate>;
        copay: z.ZodOptional<z.ZodNumber>;
        deductible: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    }, {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    }>>;
    preferences: z.ZodOptional<z.ZodObject<{
        communicationMethod: z.ZodOptional<z.ZodEnum<["email", "sms", "phone", "mail"]>>;
        appointmentReminders: z.ZodOptional<z.ZodBoolean>;
        marketingConsent: z.ZodOptional<z.ZodBoolean>;
        privacyConsent: z.ZodOptional<z.ZodBoolean>;
        language: z.ZodOptional<z.ZodString>;
        timezone: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        language?: string | undefined;
        timezone?: string | undefined;
        communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
        appointmentReminders?: boolean | undefined;
        marketingConsent?: boolean | undefined;
        privacyConsent?: boolean | undefined;
    }, {
        language?: string | undefined;
        timezone?: string | undefined;
        communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
        appointmentReminders?: boolean | undefined;
        marketingConsent?: boolean | undefined;
        privacyConsent?: boolean | undefined;
    }>>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    insurance?: {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    } | undefined;
    status?: PatientStatus | undefined;
    tags?: string[] | undefined;
    firstName?: string | undefined;
    lastName?: string | undefined;
    middleName?: string | undefined;
    dateOfBirth?: Date | undefined;
    gender?: Gender | undefined;
    bloodType?: BloodType | undefined;
    height?: number | undefined;
    weight?: number | undefined;
    emergencyContact?: {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
        address?: {
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
        } | undefined;
    } | undefined;
    preferences?: {
        language?: string | undefined;
        timezone?: string | undefined;
        communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
        appointmentReminders?: boolean | undefined;
        marketingConsent?: boolean | undefined;
        privacyConsent?: boolean | undefined;
    } | undefined;
    language?: string | undefined;
    education?: string | undefined;
    ethnicity?: string | undefined;
    nationality?: string | undefined;
    occupation?: string | undefined;
    maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    phoneNumbers?: {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        isPrimary?: boolean | undefined;
    }[] | undefined;
    addresses?: {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        state: string;
        postalCode: string;
        isPrimary?: boolean | undefined;
    }[] | undefined;
}, {
    insurance?: {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
        copay?: number | undefined;
        deductible?: number | undefined;
    } | undefined;
    status?: PatientStatus | undefined;
    tags?: string[] | undefined;
    firstName?: string | undefined;
    lastName?: string | undefined;
    middleName?: string | undefined;
    dateOfBirth?: Date | undefined;
    gender?: Gender | undefined;
    bloodType?: BloodType | undefined;
    height?: number | undefined;
    weight?: number | undefined;
    emergencyContact?: {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
        address?: {
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
        } | undefined;
    } | undefined;
    preferences?: {
        language?: string | undefined;
        timezone?: string | undefined;
        communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
        appointmentReminders?: boolean | undefined;
        marketingConsent?: boolean | undefined;
        privacyConsent?: boolean | undefined;
    } | undefined;
    language?: string | undefined;
    education?: string | undefined;
    ethnicity?: string | undefined;
    nationality?: string | undefined;
    occupation?: string | undefined;
    maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    phoneNumbers?: {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        isPrimary?: boolean | undefined;
    }[] | undefined;
    addresses?: {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        state: string;
        postalCode: string;
        isPrimary?: boolean | undefined;
    }[] | undefined;
}>;
export declare const AddMedicalHistoryRequestSchema: z.ZodObject<{
    allergies: z.ZodOptional<z.ZodArray<z.ZodObject<{
        allergen: z.ZodString;
        severity: z.ZodEnum<["mild", "moderate", "severe"]>;
        reaction: z.ZodString;
        onsetDate: z.ZodOptional<z.ZodDate>;
    }, "strip", z.ZodTypeAny, {
        severity: "moderate" | "mild" | "severe";
        allergen: string;
        reaction: string;
        onsetDate?: Date | undefined;
    }, {
        severity: "moderate" | "mild" | "severe";
        allergen: string;
        reaction: string;
        onsetDate?: Date | undefined;
    }>, "many">>;
    medications: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        dosage: z.ZodString;
        frequency: z.ZodString;
        route: z.ZodEnum<["oral", "intravenous", "intramuscular", "subcutaneous", "topical", "inhalation"]>;
        startDate: z.ZodDate;
        endDate: z.ZodOptional<z.ZodDate>;
        prescribedBy: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        dosage: string;
        frequency: string;
        route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
        startDate: Date;
        notes?: string | undefined;
        endDate?: Date | undefined;
        prescribedBy?: string | undefined;
    }, {
        name: string;
        dosage: string;
        frequency: string;
        route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
        startDate: Date;
        notes?: string | undefined;
        endDate?: Date | undefined;
        prescribedBy?: string | undefined;
    }>, "many">>;
    conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        icd10Code: z.ZodOptional<z.ZodString>;
        diagnosisDate: z.ZodDate;
        severity: z.ZodEnum<["mild", "moderate", "severe"]>;
        notes: z.ZodOptional<z.ZodString>;
        diagnosedBy: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        severity: "moderate" | "mild" | "severe";
        diagnosisDate: Date;
        notes?: string | undefined;
        icd10Code?: string | undefined;
        diagnosedBy?: string | undefined;
    }, {
        name: string;
        severity: "moderate" | "mild" | "severe";
        diagnosisDate: Date;
        notes?: string | undefined;
        icd10Code?: string | undefined;
        diagnosedBy?: string | undefined;
    }>, "many">>;
    surgeries: z.ZodOptional<z.ZodArray<z.ZodObject<{
        procedure: z.ZodString;
        date: z.ZodDate;
        surgeon: z.ZodOptional<z.ZodString>;
        hospital: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
        complications: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        procedure: string;
        date: Date;
        hospital?: string | undefined;
        notes?: string | undefined;
        surgeon?: string | undefined;
        complications?: string | undefined;
    }, {
        procedure: string;
        date: Date;
        hospital?: string | undefined;
        notes?: string | undefined;
        surgeon?: string | undefined;
        complications?: string | undefined;
    }>, "many">>;
    immunizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
        vaccine: z.ZodString;
        date: z.ZodDate;
        nextDueDate: z.ZodOptional<z.ZodDate>;
        administeredBy: z.ZodOptional<z.ZodString>;
        lotNumber: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        date: Date;
        vaccine: string;
        notes?: string | undefined;
        nextDueDate?: Date | undefined;
        administeredBy?: string | undefined;
        lotNumber?: string | undefined;
    }, {
        date: Date;
        vaccine: string;
        notes?: string | undefined;
        nextDueDate?: Date | undefined;
        administeredBy?: string | undefined;
        lotNumber?: string | undefined;
    }>, "many">>;
    familyHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
        relationship: z.ZodString;
        condition: z.ZodString;
        ageOfOnset: z.ZodOptional<z.ZodNumber>;
        isDeceased: z.ZodOptional<z.ZodBoolean>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        relationship: string;
        condition: string;
        notes?: string | undefined;
        ageOfOnset?: number | undefined;
        isDeceased?: boolean | undefined;
    }, {
        relationship: string;
        condition: string;
        notes?: string | undefined;
        ageOfOnset?: number | undefined;
        isDeceased?: boolean | undefined;
    }>, "many">>;
    socialHistory: z.ZodOptional<z.ZodObject<{
        smoking: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
        alcohol: z.ZodOptional<z.ZodEnum<["never", "occasional", "moderate", "heavy"]>>;
        drugs: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
        exercise: z.ZodOptional<z.ZodEnum<["none", "light", "moderate", "heavy"]>>;
        diet: z.ZodOptional<z.ZodString>;
        occupation: z.ZodOptional<z.ZodString>;
        livingSituation: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        notes?: string | undefined;
        exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
        occupation?: string | undefined;
        smoking?: "never" | "former" | "current" | undefined;
        alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
        drugs?: "never" | "former" | "current" | undefined;
        diet?: string | undefined;
        livingSituation?: string | undefined;
    }, {
        notes?: string | undefined;
        exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
        occupation?: string | undefined;
        smoking?: "never" | "former" | "current" | undefined;
        alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
        drugs?: "never" | "former" | "current" | undefined;
        diet?: string | undefined;
        livingSituation?: string | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    allergies?: {
        severity: "moderate" | "mild" | "severe";
        allergen: string;
        reaction: string;
        onsetDate?: Date | undefined;
    }[] | undefined;
    familyHistory?: {
        relationship: string;
        condition: string;
        notes?: string | undefined;
        ageOfOnset?: number | undefined;
        isDeceased?: boolean | undefined;
    }[] | undefined;
    immunizations?: {
        date: Date;
        vaccine: string;
        notes?: string | undefined;
        nextDueDate?: Date | undefined;
        administeredBy?: string | undefined;
        lotNumber?: string | undefined;
    }[] | undefined;
    socialHistory?: {
        notes?: string | undefined;
        exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
        occupation?: string | undefined;
        smoking?: "never" | "former" | "current" | undefined;
        alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
        drugs?: "never" | "former" | "current" | undefined;
        diet?: string | undefined;
        livingSituation?: string | undefined;
    } | undefined;
    medications?: {
        name: string;
        dosage: string;
        frequency: string;
        route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
        startDate: Date;
        notes?: string | undefined;
        endDate?: Date | undefined;
        prescribedBy?: string | undefined;
    }[] | undefined;
    conditions?: {
        name: string;
        severity: "moderate" | "mild" | "severe";
        diagnosisDate: Date;
        notes?: string | undefined;
        icd10Code?: string | undefined;
        diagnosedBy?: string | undefined;
    }[] | undefined;
    surgeries?: {
        procedure: string;
        date: Date;
        hospital?: string | undefined;
        notes?: string | undefined;
        surgeon?: string | undefined;
        complications?: string | undefined;
    }[] | undefined;
}, {
    allergies?: {
        severity: "moderate" | "mild" | "severe";
        allergen: string;
        reaction: string;
        onsetDate?: Date | undefined;
    }[] | undefined;
    familyHistory?: {
        relationship: string;
        condition: string;
        notes?: string | undefined;
        ageOfOnset?: number | undefined;
        isDeceased?: boolean | undefined;
    }[] | undefined;
    immunizations?: {
        date: Date;
        vaccine: string;
        notes?: string | undefined;
        nextDueDate?: Date | undefined;
        administeredBy?: string | undefined;
        lotNumber?: string | undefined;
    }[] | undefined;
    socialHistory?: {
        notes?: string | undefined;
        exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
        occupation?: string | undefined;
        smoking?: "never" | "former" | "current" | undefined;
        alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
        drugs?: "never" | "former" | "current" | undefined;
        diet?: string | undefined;
        livingSituation?: string | undefined;
    } | undefined;
    medications?: {
        name: string;
        dosage: string;
        frequency: string;
        route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
        startDate: Date;
        notes?: string | undefined;
        endDate?: Date | undefined;
        prescribedBy?: string | undefined;
    }[] | undefined;
    conditions?: {
        name: string;
        severity: "moderate" | "mild" | "severe";
        diagnosisDate: Date;
        notes?: string | undefined;
        icd10Code?: string | undefined;
        diagnosedBy?: string | undefined;
    }[] | undefined;
    surgeries?: {
        procedure: string;
        date: Date;
        hospital?: string | undefined;
        notes?: string | undefined;
        surgeon?: string | undefined;
        complications?: string | undefined;
    }[] | undefined;
}>;
export declare const AddDocumentRequestSchema: z.ZodObject<{
    type: z.ZodEnum<["id", "insurance", "medical", "consent", "other"]>;
    name: z.ZodString;
    file: z.ZodOptional<z.ZodType<import("buffer").File, z.ZodTypeDef, import("buffer").File>>;
    url: z.ZodOptional<z.ZodString>;
    notes: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "other" | "medical" | "insurance" | "id" | "consent";
    name: string;
    notes?: string | undefined;
    url?: string | undefined;
    file?: import("buffer").File | undefined;
}, {
    type: "other" | "medical" | "insurance" | "id" | "consent";
    name: string;
    notes?: string | undefined;
    url?: string | undefined;
    file?: import("buffer").File | undefined;
}>;
export declare const AddNoteRequestSchema: z.ZodObject<{
    content: z.ZodString;
    type: z.ZodEnum<["general", "clinical", "administrative"]>;
    isPrivate: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    type: "administrative" | "general" | "clinical";
    content: string;
    isPrivate?: boolean | undefined;
}, {
    type: "administrative" | "general" | "clinical";
    content: string;
    isPrivate?: boolean | undefined;
}>;
export declare const PatientResponseSchema: z.ZodObject<{
    id: z.ZodBranded<z.ZodString, "PatientId">;
    code: z.ZodString;
    status: z.ZodNativeEnum<typeof PatientStatus>;
    profile: z.ZodObject<{
        firstName: z.ZodString;
        lastName: z.ZodString;
        middleName: z.ZodOptional<z.ZodString>;
        dateOfBirth: z.ZodDate;
        gender: z.ZodNativeEnum<typeof Gender>;
        bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
        height: z.ZodOptional<z.ZodNumber>;
        weight: z.ZodOptional<z.ZodNumber>;
        bmi: z.ZodOptional<z.ZodNumber>;
        ethnicity: z.ZodOptional<z.ZodString>;
        nationality: z.ZodOptional<z.ZodString>;
        language: z.ZodOptional<z.ZodString>;
        occupation: z.ZodOptional<z.ZodString>;
        education: z.ZodOptional<z.ZodString>;
        maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
    }, "strip", z.ZodTypeAny, {
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        gender: Gender;
        middleName?: string | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        bmi?: number | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    }, {
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        gender: Gender;
        middleName?: string | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        bmi?: number | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    }>;
    phoneNumbers: z.ZodOptional<z.ZodArray<z.ZodObject<{
        value: z.ZodString;
        type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
        isVerified: z.ZodBoolean;
        isPrimary: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        isVerified: boolean;
        isPrimary: boolean;
    }, {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        isVerified: boolean;
        isPrimary: boolean;
    }>, "many">>;
    addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
        street: z.ZodString;
        city: z.ZodString;
        state: z.ZodString;
        postalCode: z.ZodString;
        country: z.ZodString;
        type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
        isVerified: z.ZodBoolean;
        isPrimary: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        isVerified: boolean;
        state: string;
        postalCode: string;
        isPrimary: boolean;
    }, {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        isVerified: boolean;
        state: string;
        postalCode: string;
        isPrimary: boolean;
    }>, "many">>;
    emergencyContact: z.ZodOptional<z.ZodObject<{
        name: z.ZodString;
        relationship: z.ZodString;
        phoneNumber: z.ZodString;
        email: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
    }, {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
    }>>;
    insurance: z.ZodOptional<z.ZodObject<{
        provider: z.ZodString;
        policyNumber: z.ZodString;
        groupNumber: z.ZodOptional<z.ZodString>;
        subscriberName: z.ZodString;
        relationship: z.ZodString;
        effectiveDate: z.ZodDate;
        expiryDate: z.ZodOptional<z.ZodDate>;
    }, "strip", z.ZodTypeAny, {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
    }, {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
    }>>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
}, "strip", z.ZodTypeAny, {
    id: string & z.BRAND<"PatientId">;
    createdAt: Date;
    updatedAt: Date;
    status: PatientStatus;
    code: string;
    profile: {
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        gender: Gender;
        middleName?: string | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        bmi?: number | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    };
    insurance?: {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
    } | undefined;
    emergencyContact?: {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
    } | undefined;
    phoneNumbers?: {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        isVerified: boolean;
        isPrimary: boolean;
    }[] | undefined;
    addresses?: {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        isVerified: boolean;
        state: string;
        postalCode: string;
        isPrimary: boolean;
    }[] | undefined;
}, {
    id: string;
    createdAt: Date;
    updatedAt: Date;
    status: PatientStatus;
    code: string;
    profile: {
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        gender: Gender;
        middleName?: string | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        bmi?: number | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    };
    insurance?: {
        provider: string;
        relationship: string;
        policyNumber: string;
        subscriberName: string;
        effectiveDate: Date;
        expiryDate?: Date | undefined;
        groupNumber?: string | undefined;
    } | undefined;
    emergencyContact?: {
        phoneNumber: string;
        name: string;
        relationship: string;
        email?: string | undefined;
    } | undefined;
    phoneNumbers?: {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        isVerified: boolean;
        isPrimary: boolean;
    }[] | undefined;
    addresses?: {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        isVerified: boolean;
        state: string;
        postalCode: string;
        isPrimary: boolean;
    }[] | undefined;
}>;
export declare const PatientListResponseSchema: z.ZodObject<{
    patients: z.ZodArray<z.ZodObject<{
        id: z.ZodBranded<z.ZodString, "PatientId">;
        code: z.ZodString;
        status: z.ZodNativeEnum<typeof PatientStatus>;
        profile: z.ZodObject<{
            firstName: z.ZodString;
            lastName: z.ZodString;
            middleName: z.ZodOptional<z.ZodString>;
            dateOfBirth: z.ZodDate;
            gender: z.ZodNativeEnum<typeof Gender>;
            bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
            height: z.ZodOptional<z.ZodNumber>;
            weight: z.ZodOptional<z.ZodNumber>;
            bmi: z.ZodOptional<z.ZodNumber>;
            ethnicity: z.ZodOptional<z.ZodString>;
            nationality: z.ZodOptional<z.ZodString>;
            language: z.ZodOptional<z.ZodString>;
            occupation: z.ZodOptional<z.ZodString>;
            education: z.ZodOptional<z.ZodString>;
            maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
        }, "strip", z.ZodTypeAny, {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        }, {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        }>;
        phoneNumbers: z.ZodOptional<z.ZodArray<z.ZodObject<{
            value: z.ZodString;
            type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
            isVerified: z.ZodBoolean;
            isPrimary: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }, {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }>, "many">>;
        addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
            street: z.ZodString;
            city: z.ZodString;
            state: z.ZodString;
            postalCode: z.ZodString;
            country: z.ZodString;
            type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
            isVerified: z.ZodBoolean;
            isPrimary: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }>, "many">>;
        emergencyContact: z.ZodOptional<z.ZodObject<{
            name: z.ZodString;
            relationship: z.ZodString;
            phoneNumber: z.ZodString;
            email: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        }, {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        }>>;
        insurance: z.ZodOptional<z.ZodObject<{
            provider: z.ZodString;
            policyNumber: z.ZodString;
            groupNumber: z.ZodOptional<z.ZodString>;
            subscriberName: z.ZodString;
            relationship: z.ZodString;
            effectiveDate: z.ZodDate;
            expiryDate: z.ZodOptional<z.ZodDate>;
        }, "strip", z.ZodTypeAny, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        }, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        }>>;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        id: string & z.BRAND<"PatientId">;
        createdAt: Date;
        updatedAt: Date;
        status: PatientStatus;
        code: string;
        profile: {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        };
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        } | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        } | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }[] | undefined;
    }, {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: PatientStatus;
        code: string;
        profile: {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        };
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        } | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        } | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }[] | undefined;
    }>, "many">;
    pagination: z.ZodObject<{
        page: z.ZodNumber;
        limit: z.ZodNumber;
        total: z.ZodNumber;
        totalPages: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        page: number;
        limit: number;
        total: number;
        totalPages: number;
    }, {
        page: number;
        limit: number;
        total: number;
        totalPages: number;
    }>;
}, "strip", z.ZodTypeAny, {
    pagination: {
        page: number;
        limit: number;
        total: number;
        totalPages: number;
    };
    patients: {
        id: string & z.BRAND<"PatientId">;
        createdAt: Date;
        updatedAt: Date;
        status: PatientStatus;
        code: string;
        profile: {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        };
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        } | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        } | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }[] | undefined;
    }[];
}, {
    pagination: {
        page: number;
        limit: number;
        total: number;
        totalPages: number;
    };
    patients: {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: PatientStatus;
        code: string;
        profile: {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        };
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        } | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        } | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }[] | undefined;
    }[];
}>;
export declare const PatientDetailResponseSchema: z.ZodObject<{
    patient: z.ZodObject<{
        id: z.ZodBranded<z.ZodString, "PatientId">;
        code: z.ZodString;
        status: z.ZodNativeEnum<typeof PatientStatus>;
        profile: z.ZodObject<{
            firstName: z.ZodString;
            lastName: z.ZodString;
            middleName: z.ZodOptional<z.ZodString>;
            dateOfBirth: z.ZodDate;
            gender: z.ZodNativeEnum<typeof Gender>;
            bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
            height: z.ZodOptional<z.ZodNumber>;
            weight: z.ZodOptional<z.ZodNumber>;
            bmi: z.ZodOptional<z.ZodNumber>;
            ethnicity: z.ZodOptional<z.ZodString>;
            nationality: z.ZodOptional<z.ZodString>;
            language: z.ZodOptional<z.ZodString>;
            occupation: z.ZodOptional<z.ZodString>;
            education: z.ZodOptional<z.ZodString>;
            maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
        }, "strip", z.ZodTypeAny, {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        }, {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        }>;
        phoneNumbers: z.ZodOptional<z.ZodArray<z.ZodObject<{
            value: z.ZodString;
            type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
            isVerified: z.ZodBoolean;
            isPrimary: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }, {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }>, "many">>;
        addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
            street: z.ZodString;
            city: z.ZodString;
            state: z.ZodString;
            postalCode: z.ZodString;
            country: z.ZodString;
            type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
            isVerified: z.ZodBoolean;
            isPrimary: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }>, "many">>;
        emergencyContact: z.ZodOptional<z.ZodObject<{
            name: z.ZodString;
            relationship: z.ZodString;
            phoneNumber: z.ZodString;
            email: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        }, {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        }>>;
        insurance: z.ZodOptional<z.ZodObject<{
            provider: z.ZodString;
            policyNumber: z.ZodString;
            groupNumber: z.ZodOptional<z.ZodString>;
            subscriberName: z.ZodString;
            relationship: z.ZodString;
            effectiveDate: z.ZodDate;
            expiryDate: z.ZodOptional<z.ZodDate>;
        }, "strip", z.ZodTypeAny, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        }, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        }>>;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        id: string & z.BRAND<"PatientId">;
        createdAt: Date;
        updatedAt: Date;
        status: PatientStatus;
        code: string;
        profile: {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        };
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        } | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        } | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }[] | undefined;
    }, {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: PatientStatus;
        code: string;
        profile: {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        };
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        } | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        } | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }[] | undefined;
    }>;
    medicalHistory: z.ZodOptional<z.ZodObject<{
        allergies: z.ZodOptional<z.ZodArray<z.ZodObject<{
            allergen: z.ZodString;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            reaction: z.ZodString;
            isActive: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
        }, {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
        }>, "many">>;
        medications: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            dosage: z.ZodString;
            frequency: z.ZodString;
            isActive: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            name: string;
            dosage: string;
            frequency: string;
            isActive: boolean;
        }, {
            name: string;
            dosage: string;
            frequency: string;
            isActive: boolean;
        }>, "many">>;
        conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            icd10Code: z.ZodOptional<z.ZodString>;
            diagnosisDate: z.ZodDate;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            isActive: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            icd10Code?: string | undefined;
        }, {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            icd10Code?: string | undefined;
        }>, "many">>;
        surgeries: z.ZodOptional<z.ZodArray<z.ZodObject<{
            procedure: z.ZodString;
            date: z.ZodDate;
            surgeon: z.ZodOptional<z.ZodString>;
            hospital: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            surgeon?: string | undefined;
        }, {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            surgeon?: string | undefined;
        }>, "many">>;
        immunizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
            vaccine: z.ZodString;
            date: z.ZodDate;
            nextDueDate: z.ZodOptional<z.ZodDate>;
        }, "strip", z.ZodTypeAny, {
            date: Date;
            vaccine: string;
            nextDueDate?: Date | undefined;
        }, {
            date: Date;
            vaccine: string;
            nextDueDate?: Date | undefined;
        }>, "many">>;
        familyHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
            relationship: z.ZodString;
            condition: z.ZodString;
            ageOfOnset: z.ZodOptional<z.ZodNumber>;
            isDeceased: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            relationship: string;
            condition: string;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }, {
            relationship: string;
            condition: string;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }>, "many">>;
        socialHistory: z.ZodOptional<z.ZodObject<{
            smoking: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
            alcohol: z.ZodOptional<z.ZodEnum<["never", "occasional", "moderate", "heavy"]>>;
            drugs: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
            exercise: z.ZodOptional<z.ZodEnum<["none", "light", "moderate", "heavy"]>>;
            diet: z.ZodOptional<z.ZodString>;
            occupation: z.ZodOptional<z.ZodString>;
            livingSituation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        }, {
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        allergies?: {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
        }[] | undefined;
        familyHistory?: {
            relationship: string;
            condition: string;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }[] | undefined;
        immunizations?: {
            date: Date;
            vaccine: string;
            nextDueDate?: Date | undefined;
        }[] | undefined;
        socialHistory?: {
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        } | undefined;
        medications?: {
            name: string;
            dosage: string;
            frequency: string;
            isActive: boolean;
        }[] | undefined;
        conditions?: {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            icd10Code?: string | undefined;
        }[] | undefined;
        surgeries?: {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            surgeon?: string | undefined;
        }[] | undefined;
    }, {
        allergies?: {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
        }[] | undefined;
        familyHistory?: {
            relationship: string;
            condition: string;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }[] | undefined;
        immunizations?: {
            date: Date;
            vaccine: string;
            nextDueDate?: Date | undefined;
        }[] | undefined;
        socialHistory?: {
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        } | undefined;
        medications?: {
            name: string;
            dosage: string;
            frequency: string;
            isActive: boolean;
        }[] | undefined;
        conditions?: {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            icd10Code?: string | undefined;
        }[] | undefined;
        surgeries?: {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            surgeon?: string | undefined;
        }[] | undefined;
    }>>;
    documents: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        type: z.ZodEnum<["id", "insurance", "medical", "consent", "other"]>;
        name: z.ZodString;
        url: z.ZodString;
        size: z.ZodNumber;
        uploadedAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        type: "other" | "medical" | "insurance" | "id" | "consent";
        id: string;
        name: string;
        url: string;
        size: number;
        uploadedAt: Date;
    }, {
        type: "other" | "medical" | "insurance" | "id" | "consent";
        id: string;
        name: string;
        url: string;
        size: number;
        uploadedAt: Date;
    }>, "many">>;
    notes: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        content: z.ZodString;
        type: z.ZodEnum<["general", "clinical", "administrative"]>;
        isPrivate: z.ZodBoolean;
        createdBy: z.ZodString;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        type: "administrative" | "general" | "clinical";
        id: string;
        createdAt: Date;
        createdBy: string;
        content: string;
        isPrivate: boolean;
    }, {
        type: "administrative" | "general" | "clinical";
        id: string;
        createdAt: Date;
        createdBy: string;
        content: string;
        isPrivate: boolean;
    }>, "many">>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    patient: {
        id: string & z.BRAND<"PatientId">;
        createdAt: Date;
        updatedAt: Date;
        status: PatientStatus;
        code: string;
        profile: {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        };
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        } | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        } | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }[] | undefined;
    };
    tags?: string[] | undefined;
    notes?: {
        type: "administrative" | "general" | "clinical";
        id: string;
        createdAt: Date;
        createdBy: string;
        content: string;
        isPrivate: boolean;
    }[] | undefined;
    medicalHistory?: {
        allergies?: {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
        }[] | undefined;
        familyHistory?: {
            relationship: string;
            condition: string;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }[] | undefined;
        immunizations?: {
            date: Date;
            vaccine: string;
            nextDueDate?: Date | undefined;
        }[] | undefined;
        socialHistory?: {
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        } | undefined;
        medications?: {
            name: string;
            dosage: string;
            frequency: string;
            isActive: boolean;
        }[] | undefined;
        conditions?: {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            icd10Code?: string | undefined;
        }[] | undefined;
        surgeries?: {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            surgeon?: string | undefined;
        }[] | undefined;
    } | undefined;
    documents?: {
        type: "other" | "medical" | "insurance" | "id" | "consent";
        id: string;
        name: string;
        url: string;
        size: number;
        uploadedAt: Date;
    }[] | undefined;
}, {
    patient: {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: PatientStatus;
        code: string;
        profile: {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        };
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        } | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        } | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }[] | undefined;
    };
    tags?: string[] | undefined;
    notes?: {
        type: "administrative" | "general" | "clinical";
        id: string;
        createdAt: Date;
        createdBy: string;
        content: string;
        isPrivate: boolean;
    }[] | undefined;
    medicalHistory?: {
        allergies?: {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
        }[] | undefined;
        familyHistory?: {
            relationship: string;
            condition: string;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }[] | undefined;
        immunizations?: {
            date: Date;
            vaccine: string;
            nextDueDate?: Date | undefined;
        }[] | undefined;
        socialHistory?: {
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        } | undefined;
        medications?: {
            name: string;
            dosage: string;
            frequency: string;
            isActive: boolean;
        }[] | undefined;
        conditions?: {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            icd10Code?: string | undefined;
        }[] | undefined;
        surgeries?: {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            surgeon?: string | undefined;
        }[] | undefined;
    } | undefined;
    documents?: {
        type: "other" | "medical" | "insurance" | "id" | "consent";
        id: string;
        name: string;
        url: string;
        size: number;
        uploadedAt: Date;
    }[] | undefined;
}>;
export declare const PatientSearchFiltersSchema: z.ZodObject<{
    query: z.ZodOptional<z.ZodString>;
    status: z.ZodOptional<z.ZodNativeEnum<typeof PatientStatus>>;
    gender: z.ZodOptional<z.ZodNativeEnum<typeof Gender>>;
    bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
    ageRange: z.ZodOptional<z.ZodObject<{
        min: z.ZodOptional<z.ZodNumber>;
        max: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        min?: number | undefined;
        max?: number | undefined;
    }, {
        min?: number | undefined;
        max?: number | undefined;
    }>>;
    dateOfBirthAfter: z.ZodOptional<z.ZodDate>;
    dateOfBirthBefore: z.ZodOptional<z.ZodDate>;
    hasInsurance: z.ZodOptional<z.ZodBoolean>;
    hasEmergencyContact: z.ZodOptional<z.ZodBoolean>;
    hasAllergies: z.ZodOptional<z.ZodBoolean>;
    hasActiveMedications: z.ZodOptional<z.ZodBoolean>;
    hasActiveConditions: z.ZodOptional<z.ZodBoolean>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    createdAfter: z.ZodOptional<z.ZodDate>;
    createdBefore: z.ZodOptional<z.ZodDate>;
}, "strip", z.ZodTypeAny, {
    status?: PatientStatus | undefined;
    tags?: string[] | undefined;
    gender?: Gender | undefined;
    bloodType?: BloodType | undefined;
    query?: string | undefined;
    createdAfter?: Date | undefined;
    createdBefore?: Date | undefined;
    ageRange?: {
        min?: number | undefined;
        max?: number | undefined;
    } | undefined;
    dateOfBirthAfter?: Date | undefined;
    dateOfBirthBefore?: Date | undefined;
    hasInsurance?: boolean | undefined;
    hasEmergencyContact?: boolean | undefined;
    hasAllergies?: boolean | undefined;
    hasActiveMedications?: boolean | undefined;
    hasActiveConditions?: boolean | undefined;
}, {
    status?: PatientStatus | undefined;
    tags?: string[] | undefined;
    gender?: Gender | undefined;
    bloodType?: BloodType | undefined;
    query?: string | undefined;
    createdAfter?: Date | undefined;
    createdBefore?: Date | undefined;
    ageRange?: {
        min?: number | undefined;
        max?: number | undefined;
    } | undefined;
    dateOfBirthAfter?: Date | undefined;
    dateOfBirthBefore?: Date | undefined;
    hasInsurance?: boolean | undefined;
    hasEmergencyContact?: boolean | undefined;
    hasAllergies?: boolean | undefined;
    hasActiveMedications?: boolean | undefined;
    hasActiveConditions?: boolean | undefined;
}>;
export declare const PatientSortOptionsSchema: z.ZodEnum<["createdAt", "updatedAt", "firstName", "lastName", "dateOfBirth", "status", "code"]>;
export declare const PatientValidationUtils: {
    isValidPhoneNumber: (phone: string) => boolean;
    calculateAge: (dateOfBirth: Date) => number;
    calculateBMI: (height: number, weight: number) => number;
    getBMICategory: (bmi: number) => string;
    validatePatientData: (data: any) => {
        isValid: boolean;
        errors: string[];
    };
};
export type CreatePatientRequest = z.infer<typeof CreatePatientRequestSchema>;
export type UpdatePatientRequest = z.infer<typeof UpdatePatientRequestSchema>;
export type AddMedicalHistoryRequest = z.infer<typeof AddMedicalHistoryRequestSchema>;
export type AddDocumentRequest = z.infer<typeof AddDocumentRequestSchema>;
export type AddNoteRequest = z.infer<typeof AddNoteRequestSchema>;
export type PatientResponse = z.infer<typeof PatientResponseSchema>;
export type PatientListResponse = z.infer<typeof PatientListResponseSchema>;
export type PatientDetailResponse = z.infer<typeof PatientDetailResponseSchema>;
export type PatientSearchFilters = z.infer<typeof PatientSearchFiltersSchema>;
export type PatientSortOptions = z.infer<typeof PatientSortOptionsSchema>;
export declare const PatientSchemas: {
    readonly PatientId: z.ZodBranded<z.ZodString, "PatientId">;
    readonly PatientCode: z.ZodBranded<z.ZodString, "PatientCode">;
    readonly PhoneNumber: z.ZodBranded<z.ZodString, "PhoneNumber">;
    readonly PatientStatus: z.ZodNativeEnum<typeof PatientStatus>;
    readonly Gender: z.ZodNativeEnum<typeof Gender>;
    readonly BloodType: z.ZodNativeEnum<typeof BloodType>;
    readonly PatientIdValueObject: z.ZodObject<{
        value: z.ZodBranded<z.ZodString, "PatientId">;
        format: z.ZodEnum<["uuid", "auto-increment", "custom"]>;
        createdAt: z.ZodDate;
        metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, "strip", z.ZodTypeAny, {
        value: string & z.BRAND<"PatientId">;
        createdAt: Date;
        format: "uuid" | "custom" | "auto-increment";
        metadata?: Record<string, unknown> | undefined;
    }, {
        value: string;
        createdAt: Date;
        format: "uuid" | "custom" | "auto-increment";
        metadata?: Record<string, unknown> | undefined;
    }>;
    readonly PatientCodeValueObject: z.ZodObject<{
        value: z.ZodBranded<z.ZodString, "PatientCode">;
        format: z.ZodEnum<["numeric", "alphanumeric", "custom"]>;
        prefix: z.ZodOptional<z.ZodString>;
        sequence: z.ZodNumber;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        value: string & z.BRAND<"PatientCode">;
        createdAt: Date;
        format: "custom" | "numeric" | "alphanumeric";
        sequence: number;
        prefix?: string | undefined;
    }, {
        value: string;
        createdAt: Date;
        format: "custom" | "numeric" | "alphanumeric";
        sequence: number;
        prefix?: string | undefined;
    }>;
    readonly PhoneNumberValueObject: z.ZodObject<{
        value: z.ZodBranded<z.ZodString, "PhoneNumber">;
        type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
        isVerified: z.ZodBoolean;
        verifiedAt: z.ZodOptional<z.ZodDate>;
        isPrimary: z.ZodBoolean;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        value: string & z.BRAND<"PhoneNumber">;
        type: "mobile" | "emergency" | "home" | "work";
        createdAt: Date;
        isVerified: boolean;
        isPrimary: boolean;
        verifiedAt?: Date | undefined;
    }, {
        value: string;
        type: "mobile" | "emergency" | "home" | "work";
        createdAt: Date;
        isVerified: boolean;
        isPrimary: boolean;
        verifiedAt?: Date | undefined;
    }>;
    readonly AddressValueObject: z.ZodObject<{
        street: z.ZodString;
        city: z.ZodString;
        state: z.ZodString;
        postalCode: z.ZodString;
        country: z.ZodString;
        type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
        isVerified: z.ZodBoolean;
        verifiedAt: z.ZodOptional<z.ZodDate>;
        isPrimary: z.ZodBoolean;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        createdAt: Date;
        isVerified: boolean;
        state: string;
        postalCode: string;
        isPrimary: boolean;
        verifiedAt?: Date | undefined;
    }, {
        type: "home" | "billing" | "work" | "mailing";
        street: string;
        city: string;
        country: string;
        createdAt: Date;
        isVerified: boolean;
        state: string;
        postalCode: string;
        isPrimary: boolean;
        verifiedAt?: Date | undefined;
    }>;
    readonly Patient: z.ZodObject<{
        id: z.ZodBranded<z.ZodString, "PatientId">;
        code: z.ZodObject<{
            value: z.ZodBranded<z.ZodString, "PatientCode">;
            format: z.ZodEnum<["numeric", "alphanumeric", "custom"]>;
            prefix: z.ZodOptional<z.ZodString>;
            sequence: z.ZodNumber;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            value: string & z.BRAND<"PatientCode">;
            createdAt: Date;
            format: "custom" | "numeric" | "alphanumeric";
            sequence: number;
            prefix?: string | undefined;
        }, {
            value: string;
            createdAt: Date;
            format: "custom" | "numeric" | "alphanumeric";
            sequence: number;
            prefix?: string | undefined;
        }>;
        status: z.ZodNativeEnum<typeof PatientStatus>;
        profile: z.ZodObject<{
            id: z.ZodBranded<z.ZodString, "PatientId">;
            firstName: z.ZodString;
            lastName: z.ZodString;
            middleName: z.ZodOptional<z.ZodString>;
            dateOfBirth: z.ZodDate;
            gender: z.ZodNativeEnum<typeof Gender>;
            bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
            height: z.ZodOptional<z.ZodNumber>;
            weight: z.ZodOptional<z.ZodNumber>;
            bmi: z.ZodOptional<z.ZodNumber>;
            ethnicity: z.ZodOptional<z.ZodString>;
            nationality: z.ZodOptional<z.ZodString>;
            language: z.ZodOptional<z.ZodString>;
            occupation: z.ZodOptional<z.ZodString>;
            education: z.ZodOptional<z.ZodString>;
            maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
            emergencyContact: z.ZodOptional<z.ZodObject<{
                name: z.ZodString;
                relationship: z.ZodString;
                phoneNumber: z.ZodBranded<z.ZodString, "PhoneNumber">;
                email: z.ZodOptional<z.ZodString>;
                address: z.ZodOptional<z.ZodObject<{
                    street: z.ZodString;
                    city: z.ZodString;
                    state: z.ZodString;
                    postalCode: z.ZodString;
                    country: z.ZodString;
                    type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
                    isVerified: z.ZodBoolean;
                    verifiedAt: z.ZodOptional<z.ZodDate>;
                    isPrimary: z.ZodBoolean;
                    createdAt: z.ZodDate;
                }, "strip", z.ZodTypeAny, {
                    type: "home" | "billing" | "work" | "mailing";
                    street: string;
                    city: string;
                    country: string;
                    createdAt: Date;
                    isVerified: boolean;
                    state: string;
                    postalCode: string;
                    isPrimary: boolean;
                    verifiedAt?: Date | undefined;
                }, {
                    type: "home" | "billing" | "work" | "mailing";
                    street: string;
                    city: string;
                    country: string;
                    createdAt: Date;
                    isVerified: boolean;
                    state: string;
                    postalCode: string;
                    isPrimary: boolean;
                    verifiedAt?: Date | undefined;
                }>>;
            }, "strip", z.ZodTypeAny, {
                phoneNumber: string & z.BRAND<"PhoneNumber">;
                name: string;
                relationship: string;
                email?: string | undefined;
                address?: {
                    type: "home" | "billing" | "work" | "mailing";
                    street: string;
                    city: string;
                    country: string;
                    createdAt: Date;
                    isVerified: boolean;
                    state: string;
                    postalCode: string;
                    isPrimary: boolean;
                    verifiedAt?: Date | undefined;
                } | undefined;
            }, {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
                address?: {
                    type: "home" | "billing" | "work" | "mailing";
                    street: string;
                    city: string;
                    country: string;
                    createdAt: Date;
                    isVerified: boolean;
                    state: string;
                    postalCode: string;
                    isPrimary: boolean;
                    verifiedAt?: Date | undefined;
                } | undefined;
            }>>;
            insurance: z.ZodOptional<z.ZodObject<{
                provider: z.ZodString;
                policyNumber: z.ZodString;
                groupNumber: z.ZodOptional<z.ZodString>;
                subscriberName: z.ZodString;
                relationship: z.ZodString;
                effectiveDate: z.ZodDate;
                expiryDate: z.ZodOptional<z.ZodDate>;
                copay: z.ZodOptional<z.ZodNumber>;
                deductible: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
                copay?: number | undefined;
                deductible?: number | undefined;
            }, {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
                copay?: number | undefined;
                deductible?: number | undefined;
            }>>;
            preferences: z.ZodOptional<z.ZodObject<{
                communicationMethod: z.ZodOptional<z.ZodEnum<["email", "sms", "phone", "mail"]>>;
                appointmentReminders: z.ZodOptional<z.ZodBoolean>;
                marketingConsent: z.ZodOptional<z.ZodBoolean>;
                privacyConsent: z.ZodOptional<z.ZodBoolean>;
                language: z.ZodOptional<z.ZodString>;
                timezone: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                language?: string | undefined;
                timezone?: string | undefined;
                communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
                appointmentReminders?: boolean | undefined;
                marketingConsent?: boolean | undefined;
                privacyConsent?: boolean | undefined;
            }, {
                language?: string | undefined;
                timezone?: string | undefined;
                communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
                appointmentReminders?: boolean | undefined;
                marketingConsent?: boolean | undefined;
                privacyConsent?: boolean | undefined;
            }>>;
            createdAt: z.ZodDate;
            updatedAt: z.ZodDate;
            createdBy: z.ZodOptional<z.ZodString>;
            updatedBy: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id: string & z.BRAND<"PatientId">;
            createdAt: Date;
            updatedAt: Date;
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            insurance?: {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
                copay?: number | undefined;
                deductible?: number | undefined;
            } | undefined;
            createdBy?: string | undefined;
            updatedBy?: string | undefined;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            emergencyContact?: {
                phoneNumber: string & z.BRAND<"PhoneNumber">;
                name: string;
                relationship: string;
                email?: string | undefined;
                address?: {
                    type: "home" | "billing" | "work" | "mailing";
                    street: string;
                    city: string;
                    country: string;
                    createdAt: Date;
                    isVerified: boolean;
                    state: string;
                    postalCode: string;
                    isPrimary: boolean;
                    verifiedAt?: Date | undefined;
                } | undefined;
            } | undefined;
            preferences?: {
                language?: string | undefined;
                timezone?: string | undefined;
                communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
                appointmentReminders?: boolean | undefined;
                marketingConsent?: boolean | undefined;
                privacyConsent?: boolean | undefined;
            } | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        }, {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            insurance?: {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
                copay?: number | undefined;
                deductible?: number | undefined;
            } | undefined;
            createdBy?: string | undefined;
            updatedBy?: string | undefined;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            emergencyContact?: {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
                address?: {
                    type: "home" | "billing" | "work" | "mailing";
                    street: string;
                    city: string;
                    country: string;
                    createdAt: Date;
                    isVerified: boolean;
                    state: string;
                    postalCode: string;
                    isPrimary: boolean;
                    verifiedAt?: Date | undefined;
                } | undefined;
            } | undefined;
            preferences?: {
                language?: string | undefined;
                timezone?: string | undefined;
                communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
                appointmentReminders?: boolean | undefined;
                marketingConsent?: boolean | undefined;
                privacyConsent?: boolean | undefined;
            } | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        }>;
        medicalHistory: z.ZodOptional<z.ZodObject<{
            id: z.ZodString;
            patientId: z.ZodBranded<z.ZodString, "PatientId">;
            allergies: z.ZodOptional<z.ZodArray<z.ZodObject<{
                allergen: z.ZodString;
                severity: z.ZodEnum<["mild", "moderate", "severe"]>;
                reaction: z.ZodString;
                onsetDate: z.ZodOptional<z.ZodDate>;
                isActive: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                allergen: string;
                reaction: string;
                onsetDate?: Date | undefined;
            }, {
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                allergen: string;
                reaction: string;
                onsetDate?: Date | undefined;
            }>, "many">>;
            medications: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                dosage: z.ZodString;
                frequency: z.ZodString;
                route: z.ZodEnum<["oral", "intravenous", "intramuscular", "subcutaneous", "topical", "inhalation"]>;
                startDate: z.ZodDate;
                endDate: z.ZodOptional<z.ZodDate>;
                isActive: z.ZodBoolean;
                prescribedBy: z.ZodOptional<z.ZodString>;
                notes: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                dosage: string;
                frequency: string;
                route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
                startDate: Date;
                isActive: boolean;
                notes?: string | undefined;
                endDate?: Date | undefined;
                prescribedBy?: string | undefined;
            }, {
                name: string;
                dosage: string;
                frequency: string;
                route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
                startDate: Date;
                isActive: boolean;
                notes?: string | undefined;
                endDate?: Date | undefined;
                prescribedBy?: string | undefined;
            }>, "many">>;
            conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                icd10Code: z.ZodOptional<z.ZodString>;
                diagnosisDate: z.ZodDate;
                severity: z.ZodEnum<["mild", "moderate", "severe"]>;
                isActive: z.ZodBoolean;
                notes: z.ZodOptional<z.ZodString>;
                diagnosedBy: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                diagnosisDate: Date;
                notes?: string | undefined;
                icd10Code?: string | undefined;
                diagnosedBy?: string | undefined;
            }, {
                name: string;
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                diagnosisDate: Date;
                notes?: string | undefined;
                icd10Code?: string | undefined;
                diagnosedBy?: string | undefined;
            }>, "many">>;
            surgeries: z.ZodOptional<z.ZodArray<z.ZodObject<{
                procedure: z.ZodString;
                date: z.ZodDate;
                surgeon: z.ZodOptional<z.ZodString>;
                hospital: z.ZodOptional<z.ZodString>;
                notes: z.ZodOptional<z.ZodString>;
                complications: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                procedure: string;
                date: Date;
                hospital?: string | undefined;
                notes?: string | undefined;
                surgeon?: string | undefined;
                complications?: string | undefined;
            }, {
                procedure: string;
                date: Date;
                hospital?: string | undefined;
                notes?: string | undefined;
                surgeon?: string | undefined;
                complications?: string | undefined;
            }>, "many">>;
            immunizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
                vaccine: z.ZodString;
                date: z.ZodDate;
                nextDueDate: z.ZodOptional<z.ZodDate>;
                administeredBy: z.ZodOptional<z.ZodString>;
                lotNumber: z.ZodOptional<z.ZodString>;
                notes: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                date: Date;
                vaccine: string;
                notes?: string | undefined;
                nextDueDate?: Date | undefined;
                administeredBy?: string | undefined;
                lotNumber?: string | undefined;
            }, {
                date: Date;
                vaccine: string;
                notes?: string | undefined;
                nextDueDate?: Date | undefined;
                administeredBy?: string | undefined;
                lotNumber?: string | undefined;
            }>, "many">>;
            familyHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
                relationship: z.ZodString;
                condition: z.ZodString;
                ageOfOnset: z.ZodOptional<z.ZodNumber>;
                isDeceased: z.ZodOptional<z.ZodBoolean>;
                notes: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                relationship: string;
                condition: string;
                notes?: string | undefined;
                ageOfOnset?: number | undefined;
                isDeceased?: boolean | undefined;
            }, {
                relationship: string;
                condition: string;
                notes?: string | undefined;
                ageOfOnset?: number | undefined;
                isDeceased?: boolean | undefined;
            }>, "many">>;
            socialHistory: z.ZodOptional<z.ZodObject<{
                smoking: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
                alcohol: z.ZodOptional<z.ZodEnum<["never", "occasional", "moderate", "heavy"]>>;
                drugs: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
                exercise: z.ZodOptional<z.ZodEnum<["none", "light", "moderate", "heavy"]>>;
                diet: z.ZodOptional<z.ZodString>;
                occupation: z.ZodOptional<z.ZodString>;
                livingSituation: z.ZodOptional<z.ZodString>;
                notes: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                notes?: string | undefined;
                exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
                occupation?: string | undefined;
                smoking?: "never" | "former" | "current" | undefined;
                alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
                drugs?: "never" | "former" | "current" | undefined;
                diet?: string | undefined;
                livingSituation?: string | undefined;
            }, {
                notes?: string | undefined;
                exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
                occupation?: string | undefined;
                smoking?: "never" | "former" | "current" | undefined;
                alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
                drugs?: "never" | "former" | "current" | undefined;
                diet?: string | undefined;
                livingSituation?: string | undefined;
            }>>;
            createdAt: z.ZodDate;
            updatedAt: z.ZodDate;
            createdBy: z.ZodOptional<z.ZodString>;
            updatedBy: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            patientId: string & z.BRAND<"PatientId">;
            createdBy?: string | undefined;
            updatedBy?: string | undefined;
            allergies?: {
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                allergen: string;
                reaction: string;
                onsetDate?: Date | undefined;
            }[] | undefined;
            familyHistory?: {
                relationship: string;
                condition: string;
                notes?: string | undefined;
                ageOfOnset?: number | undefined;
                isDeceased?: boolean | undefined;
            }[] | undefined;
            immunizations?: {
                date: Date;
                vaccine: string;
                notes?: string | undefined;
                nextDueDate?: Date | undefined;
                administeredBy?: string | undefined;
                lotNumber?: string | undefined;
            }[] | undefined;
            socialHistory?: {
                notes?: string | undefined;
                exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
                occupation?: string | undefined;
                smoking?: "never" | "former" | "current" | undefined;
                alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
                drugs?: "never" | "former" | "current" | undefined;
                diet?: string | undefined;
                livingSituation?: string | undefined;
            } | undefined;
            medications?: {
                name: string;
                dosage: string;
                frequency: string;
                route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
                startDate: Date;
                isActive: boolean;
                notes?: string | undefined;
                endDate?: Date | undefined;
                prescribedBy?: string | undefined;
            }[] | undefined;
            conditions?: {
                name: string;
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                diagnosisDate: Date;
                notes?: string | undefined;
                icd10Code?: string | undefined;
                diagnosedBy?: string | undefined;
            }[] | undefined;
            surgeries?: {
                procedure: string;
                date: Date;
                hospital?: string | undefined;
                notes?: string | undefined;
                surgeon?: string | undefined;
                complications?: string | undefined;
            }[] | undefined;
        }, {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            patientId: string;
            createdBy?: string | undefined;
            updatedBy?: string | undefined;
            allergies?: {
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                allergen: string;
                reaction: string;
                onsetDate?: Date | undefined;
            }[] | undefined;
            familyHistory?: {
                relationship: string;
                condition: string;
                notes?: string | undefined;
                ageOfOnset?: number | undefined;
                isDeceased?: boolean | undefined;
            }[] | undefined;
            immunizations?: {
                date: Date;
                vaccine: string;
                notes?: string | undefined;
                nextDueDate?: Date | undefined;
                administeredBy?: string | undefined;
                lotNumber?: string | undefined;
            }[] | undefined;
            socialHistory?: {
                notes?: string | undefined;
                exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
                occupation?: string | undefined;
                smoking?: "never" | "former" | "current" | undefined;
                alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
                drugs?: "never" | "former" | "current" | undefined;
                diet?: string | undefined;
                livingSituation?: string | undefined;
            } | undefined;
            medications?: {
                name: string;
                dosage: string;
                frequency: string;
                route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
                startDate: Date;
                isActive: boolean;
                notes?: string | undefined;
                endDate?: Date | undefined;
                prescribedBy?: string | undefined;
            }[] | undefined;
            conditions?: {
                name: string;
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                diagnosisDate: Date;
                notes?: string | undefined;
                icd10Code?: string | undefined;
                diagnosedBy?: string | undefined;
            }[] | undefined;
            surgeries?: {
                procedure: string;
                date: Date;
                hospital?: string | undefined;
                notes?: string | undefined;
                surgeon?: string | undefined;
                complications?: string | undefined;
            }[] | undefined;
        }>>;
        phoneNumbers: z.ZodOptional<z.ZodArray<z.ZodObject<{
            value: z.ZodBranded<z.ZodString, "PhoneNumber">;
            type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
            isVerified: z.ZodBoolean;
            verifiedAt: z.ZodOptional<z.ZodDate>;
            isPrimary: z.ZodBoolean;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            value: string & z.BRAND<"PhoneNumber">;
            type: "mobile" | "emergency" | "home" | "work";
            createdAt: Date;
            isVerified: boolean;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }, {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            createdAt: Date;
            isVerified: boolean;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }>, "many">>;
        addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
            street: z.ZodString;
            city: z.ZodString;
            state: z.ZodString;
            postalCode: z.ZodString;
            country: z.ZodString;
            type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
            isVerified: z.ZodBoolean;
            verifiedAt: z.ZodOptional<z.ZodDate>;
            isPrimary: z.ZodBoolean;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }>, "many">>;
        emergencyContacts: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            relationship: z.ZodString;
            phoneNumber: z.ZodObject<{
                value: z.ZodBranded<z.ZodString, "PhoneNumber">;
                type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
                isVerified: z.ZodBoolean;
                verifiedAt: z.ZodOptional<z.ZodDate>;
                isPrimary: z.ZodBoolean;
                createdAt: z.ZodDate;
            }, "strip", z.ZodTypeAny, {
                value: string & z.BRAND<"PhoneNumber">;
                type: "mobile" | "emergency" | "home" | "work";
                createdAt: Date;
                isVerified: boolean;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            }, {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                createdAt: Date;
                isVerified: boolean;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            }>;
            email: z.ZodOptional<z.ZodString>;
            address: z.ZodOptional<z.ZodObject<{
                street: z.ZodString;
                city: z.ZodString;
                state: z.ZodString;
                postalCode: z.ZodString;
                country: z.ZodString;
                type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
                isVerified: z.ZodBoolean;
                verifiedAt: z.ZodOptional<z.ZodDate>;
                isPrimary: z.ZodBoolean;
                createdAt: z.ZodDate;
            }, "strip", z.ZodTypeAny, {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            }, {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            }>>;
            isPrimary: z.ZodBoolean;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            createdAt: Date;
            phoneNumber: {
                value: string & z.BRAND<"PhoneNumber">;
                type: "mobile" | "emergency" | "home" | "work";
                createdAt: Date;
                isVerified: boolean;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            };
            name: string;
            isPrimary: boolean;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        }, {
            createdAt: Date;
            phoneNumber: {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                createdAt: Date;
                isVerified: boolean;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            };
            name: string;
            isPrimary: boolean;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        }>, "many">>;
        insurance: z.ZodOptional<z.ZodArray<z.ZodObject<{
            provider: z.ZodString;
            policyNumber: z.ZodString;
            groupNumber: z.ZodOptional<z.ZodString>;
            subscriberName: z.ZodString;
            relationship: z.ZodString;
            effectiveDate: z.ZodDate;
            expiryDate: z.ZodOptional<z.ZodDate>;
            copay: z.ZodOptional<z.ZodNumber>;
            deductible: z.ZodOptional<z.ZodNumber>;
            isPrimary: z.ZodBoolean;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            createdAt: Date;
            provider: string;
            isPrimary: boolean;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        }, {
            createdAt: Date;
            provider: string;
            isPrimary: boolean;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        }>, "many">>;
        documents: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            type: z.ZodEnum<["id", "insurance", "medical", "consent", "other"]>;
            name: z.ZodString;
            url: z.ZodString;
            size: z.ZodNumber;
            mimeType: z.ZodString;
            uploadedAt: z.ZodDate;
            uploadedBy: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "other" | "medical" | "insurance" | "id" | "consent";
            id: string;
            name: string;
            url: string;
            size: number;
            mimeType: string;
            uploadedAt: Date;
            uploadedBy?: string | undefined;
        }, {
            type: "other" | "medical" | "insurance" | "id" | "consent";
            id: string;
            name: string;
            url: string;
            size: number;
            mimeType: string;
            uploadedAt: Date;
            uploadedBy?: string | undefined;
        }>, "many">>;
        notes: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            content: z.ZodString;
            type: z.ZodEnum<["general", "clinical", "administrative"]>;
            isPrivate: z.ZodBoolean;
            createdBy: z.ZodString;
            createdAt: z.ZodDate;
            updatedAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            type: "administrative" | "general" | "clinical";
            id: string;
            createdAt: Date;
            updatedAt: Date;
            createdBy: string;
            content: string;
            isPrivate: boolean;
        }, {
            type: "administrative" | "general" | "clinical";
            id: string;
            createdAt: Date;
            updatedAt: Date;
            createdBy: string;
            content: string;
            isPrivate: boolean;
        }>, "many">>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
        createdBy: z.ZodOptional<z.ZodString>;
        updatedBy: z.ZodOptional<z.ZodString>;
        deletedAt: z.ZodOptional<z.ZodDate>;
    }, "strip", z.ZodTypeAny, {
        id: string & z.BRAND<"PatientId">;
        createdAt: Date;
        updatedAt: Date;
        status: PatientStatus;
        code: {
            value: string & z.BRAND<"PatientCode">;
            createdAt: Date;
            format: "custom" | "numeric" | "alphanumeric";
            sequence: number;
            prefix?: string | undefined;
        };
        profile: {
            id: string & z.BRAND<"PatientId">;
            createdAt: Date;
            updatedAt: Date;
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            insurance?: {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
                copay?: number | undefined;
                deductible?: number | undefined;
            } | undefined;
            createdBy?: string | undefined;
            updatedBy?: string | undefined;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            emergencyContact?: {
                phoneNumber: string & z.BRAND<"PhoneNumber">;
                name: string;
                relationship: string;
                email?: string | undefined;
                address?: {
                    type: "home" | "billing" | "work" | "mailing";
                    street: string;
                    city: string;
                    country: string;
                    createdAt: Date;
                    isVerified: boolean;
                    state: string;
                    postalCode: string;
                    isPrimary: boolean;
                    verifiedAt?: Date | undefined;
                } | undefined;
            } | undefined;
            preferences?: {
                language?: string | undefined;
                timezone?: string | undefined;
                communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
                appointmentReminders?: boolean | undefined;
                marketingConsent?: boolean | undefined;
                privacyConsent?: boolean | undefined;
            } | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        };
        insurance?: {
            createdAt: Date;
            provider: string;
            isPrimary: boolean;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        }[] | undefined;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        tags?: string[] | undefined;
        notes?: {
            type: "administrative" | "general" | "clinical";
            id: string;
            createdAt: Date;
            updatedAt: Date;
            createdBy: string;
            content: string;
            isPrivate: boolean;
        }[] | undefined;
        deletedAt?: Date | undefined;
        medicalHistory?: {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            patientId: string & z.BRAND<"PatientId">;
            createdBy?: string | undefined;
            updatedBy?: string | undefined;
            allergies?: {
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                allergen: string;
                reaction: string;
                onsetDate?: Date | undefined;
            }[] | undefined;
            familyHistory?: {
                relationship: string;
                condition: string;
                notes?: string | undefined;
                ageOfOnset?: number | undefined;
                isDeceased?: boolean | undefined;
            }[] | undefined;
            immunizations?: {
                date: Date;
                vaccine: string;
                notes?: string | undefined;
                nextDueDate?: Date | undefined;
                administeredBy?: string | undefined;
                lotNumber?: string | undefined;
            }[] | undefined;
            socialHistory?: {
                notes?: string | undefined;
                exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
                occupation?: string | undefined;
                smoking?: "never" | "former" | "current" | undefined;
                alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
                drugs?: "never" | "former" | "current" | undefined;
                diet?: string | undefined;
                livingSituation?: string | undefined;
            } | undefined;
            medications?: {
                name: string;
                dosage: string;
                frequency: string;
                route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
                startDate: Date;
                isActive: boolean;
                notes?: string | undefined;
                endDate?: Date | undefined;
                prescribedBy?: string | undefined;
            }[] | undefined;
            conditions?: {
                name: string;
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                diagnosisDate: Date;
                notes?: string | undefined;
                icd10Code?: string | undefined;
                diagnosedBy?: string | undefined;
            }[] | undefined;
            surgeries?: {
                procedure: string;
                date: Date;
                hospital?: string | undefined;
                notes?: string | undefined;
                surgeon?: string | undefined;
                complications?: string | undefined;
            }[] | undefined;
        } | undefined;
        phoneNumbers?: {
            value: string & z.BRAND<"PhoneNumber">;
            type: "mobile" | "emergency" | "home" | "work";
            createdAt: Date;
            isVerified: boolean;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }[] | undefined;
        emergencyContacts?: {
            createdAt: Date;
            phoneNumber: {
                value: string & z.BRAND<"PhoneNumber">;
                type: "mobile" | "emergency" | "home" | "work";
                createdAt: Date;
                isVerified: boolean;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            };
            name: string;
            isPrimary: boolean;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        }[] | undefined;
        documents?: {
            type: "other" | "medical" | "insurance" | "id" | "consent";
            id: string;
            name: string;
            url: string;
            size: number;
            mimeType: string;
            uploadedAt: Date;
            uploadedBy?: string | undefined;
        }[] | undefined;
    }, {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: PatientStatus;
        code: {
            value: string;
            createdAt: Date;
            format: "custom" | "numeric" | "alphanumeric";
            sequence: number;
            prefix?: string | undefined;
        };
        profile: {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            insurance?: {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
                copay?: number | undefined;
                deductible?: number | undefined;
            } | undefined;
            createdBy?: string | undefined;
            updatedBy?: string | undefined;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            emergencyContact?: {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
                address?: {
                    type: "home" | "billing" | "work" | "mailing";
                    street: string;
                    city: string;
                    country: string;
                    createdAt: Date;
                    isVerified: boolean;
                    state: string;
                    postalCode: string;
                    isPrimary: boolean;
                    verifiedAt?: Date | undefined;
                } | undefined;
            } | undefined;
            preferences?: {
                language?: string | undefined;
                timezone?: string | undefined;
                communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
                appointmentReminders?: boolean | undefined;
                marketingConsent?: boolean | undefined;
                privacyConsent?: boolean | undefined;
            } | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        };
        insurance?: {
            createdAt: Date;
            provider: string;
            isPrimary: boolean;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        }[] | undefined;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        tags?: string[] | undefined;
        notes?: {
            type: "administrative" | "general" | "clinical";
            id: string;
            createdAt: Date;
            updatedAt: Date;
            createdBy: string;
            content: string;
            isPrivate: boolean;
        }[] | undefined;
        deletedAt?: Date | undefined;
        medicalHistory?: {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            patientId: string;
            createdBy?: string | undefined;
            updatedBy?: string | undefined;
            allergies?: {
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                allergen: string;
                reaction: string;
                onsetDate?: Date | undefined;
            }[] | undefined;
            familyHistory?: {
                relationship: string;
                condition: string;
                notes?: string | undefined;
                ageOfOnset?: number | undefined;
                isDeceased?: boolean | undefined;
            }[] | undefined;
            immunizations?: {
                date: Date;
                vaccine: string;
                notes?: string | undefined;
                nextDueDate?: Date | undefined;
                administeredBy?: string | undefined;
                lotNumber?: string | undefined;
            }[] | undefined;
            socialHistory?: {
                notes?: string | undefined;
                exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
                occupation?: string | undefined;
                smoking?: "never" | "former" | "current" | undefined;
                alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
                drugs?: "never" | "former" | "current" | undefined;
                diet?: string | undefined;
                livingSituation?: string | undefined;
            } | undefined;
            medications?: {
                name: string;
                dosage: string;
                frequency: string;
                route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
                startDate: Date;
                isActive: boolean;
                notes?: string | undefined;
                endDate?: Date | undefined;
                prescribedBy?: string | undefined;
            }[] | undefined;
            conditions?: {
                name: string;
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                diagnosisDate: Date;
                notes?: string | undefined;
                icd10Code?: string | undefined;
                diagnosedBy?: string | undefined;
            }[] | undefined;
            surgeries?: {
                procedure: string;
                date: Date;
                hospital?: string | undefined;
                notes?: string | undefined;
                surgeon?: string | undefined;
                complications?: string | undefined;
            }[] | undefined;
        } | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            createdAt: Date;
            isVerified: boolean;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            createdAt: Date;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
            verifiedAt?: Date | undefined;
        }[] | undefined;
        emergencyContacts?: {
            createdAt: Date;
            phoneNumber: {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                createdAt: Date;
                isVerified: boolean;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            };
            name: string;
            isPrimary: boolean;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        }[] | undefined;
        documents?: {
            type: "other" | "medical" | "insurance" | "id" | "consent";
            id: string;
            name: string;
            url: string;
            size: number;
            mimeType: string;
            uploadedAt: Date;
            uploadedBy?: string | undefined;
        }[] | undefined;
    }>;
    readonly PatientProfile: z.ZodObject<{
        id: z.ZodBranded<z.ZodString, "PatientId">;
        firstName: z.ZodString;
        lastName: z.ZodString;
        middleName: z.ZodOptional<z.ZodString>;
        dateOfBirth: z.ZodDate;
        gender: z.ZodNativeEnum<typeof Gender>;
        bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
        height: z.ZodOptional<z.ZodNumber>;
        weight: z.ZodOptional<z.ZodNumber>;
        bmi: z.ZodOptional<z.ZodNumber>;
        ethnicity: z.ZodOptional<z.ZodString>;
        nationality: z.ZodOptional<z.ZodString>;
        language: z.ZodOptional<z.ZodString>;
        occupation: z.ZodOptional<z.ZodString>;
        education: z.ZodOptional<z.ZodString>;
        maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
        emergencyContact: z.ZodOptional<z.ZodObject<{
            name: z.ZodString;
            relationship: z.ZodString;
            phoneNumber: z.ZodBranded<z.ZodString, "PhoneNumber">;
            email: z.ZodOptional<z.ZodString>;
            address: z.ZodOptional<z.ZodObject<{
                street: z.ZodString;
                city: z.ZodString;
                state: z.ZodString;
                postalCode: z.ZodString;
                country: z.ZodString;
                type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
                isVerified: z.ZodBoolean;
                verifiedAt: z.ZodOptional<z.ZodDate>;
                isPrimary: z.ZodBoolean;
                createdAt: z.ZodDate;
            }, "strip", z.ZodTypeAny, {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            }, {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            phoneNumber: string & z.BRAND<"PhoneNumber">;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        }, {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        }>>;
        insurance: z.ZodOptional<z.ZodObject<{
            provider: z.ZodString;
            policyNumber: z.ZodString;
            groupNumber: z.ZodOptional<z.ZodString>;
            subscriberName: z.ZodString;
            relationship: z.ZodString;
            effectiveDate: z.ZodDate;
            expiryDate: z.ZodOptional<z.ZodDate>;
            copay: z.ZodOptional<z.ZodNumber>;
            deductible: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        }, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        }>>;
        preferences: z.ZodOptional<z.ZodObject<{
            communicationMethod: z.ZodOptional<z.ZodEnum<["email", "sms", "phone", "mail"]>>;
            appointmentReminders: z.ZodOptional<z.ZodBoolean>;
            marketingConsent: z.ZodOptional<z.ZodBoolean>;
            privacyConsent: z.ZodOptional<z.ZodBoolean>;
            language: z.ZodOptional<z.ZodString>;
            timezone: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        }, {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        }>>;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
        createdBy: z.ZodOptional<z.ZodString>;
        updatedBy: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id: string & z.BRAND<"PatientId">;
        createdAt: Date;
        updatedAt: Date;
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        gender: Gender;
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        } | undefined;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        middleName?: string | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        bmi?: number | undefined;
        emergencyContact?: {
            phoneNumber: string & z.BRAND<"PhoneNumber">;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        } | undefined;
        preferences?: {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        } | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    }, {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        gender: Gender;
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        } | undefined;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        middleName?: string | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        bmi?: number | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                createdAt: Date;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
                verifiedAt?: Date | undefined;
            } | undefined;
        } | undefined;
        preferences?: {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        } | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
    }>;
    readonly MedicalHistory: z.ZodObject<{
        id: z.ZodString;
        patientId: z.ZodBranded<z.ZodString, "PatientId">;
        allergies: z.ZodOptional<z.ZodArray<z.ZodObject<{
            allergen: z.ZodString;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            reaction: z.ZodString;
            onsetDate: z.ZodOptional<z.ZodDate>;
            isActive: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }, {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }>, "many">>;
        medications: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            dosage: z.ZodString;
            frequency: z.ZodString;
            route: z.ZodEnum<["oral", "intravenous", "intramuscular", "subcutaneous", "topical", "inhalation"]>;
            startDate: z.ZodDate;
            endDate: z.ZodOptional<z.ZodDate>;
            isActive: z.ZodBoolean;
            prescribedBy: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            isActive: boolean;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }, {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            isActive: boolean;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }>, "many">>;
        conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            icd10Code: z.ZodOptional<z.ZodString>;
            diagnosisDate: z.ZodDate;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            isActive: z.ZodBoolean;
            notes: z.ZodOptional<z.ZodString>;
            diagnosedBy: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }, {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }>, "many">>;
        surgeries: z.ZodOptional<z.ZodArray<z.ZodObject<{
            procedure: z.ZodString;
            date: z.ZodDate;
            surgeon: z.ZodOptional<z.ZodString>;
            hospital: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
            complications: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }, {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }>, "many">>;
        immunizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
            vaccine: z.ZodString;
            date: z.ZodDate;
            nextDueDate: z.ZodOptional<z.ZodDate>;
            administeredBy: z.ZodOptional<z.ZodString>;
            lotNumber: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }, {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }>, "many">>;
        familyHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
            relationship: z.ZodString;
            condition: z.ZodString;
            ageOfOnset: z.ZodOptional<z.ZodNumber>;
            isDeceased: z.ZodOptional<z.ZodBoolean>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }, {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }>, "many">>;
        socialHistory: z.ZodOptional<z.ZodObject<{
            smoking: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
            alcohol: z.ZodOptional<z.ZodEnum<["never", "occasional", "moderate", "heavy"]>>;
            drugs: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
            exercise: z.ZodOptional<z.ZodEnum<["none", "light", "moderate", "heavy"]>>;
            diet: z.ZodOptional<z.ZodString>;
            occupation: z.ZodOptional<z.ZodString>;
            livingSituation: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        }, {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        }>>;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
        createdBy: z.ZodOptional<z.ZodString>;
        updatedBy: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        patientId: string & z.BRAND<"PatientId">;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        allergies?: {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }[] | undefined;
        familyHistory?: {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }[] | undefined;
        immunizations?: {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }[] | undefined;
        socialHistory?: {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        } | undefined;
        medications?: {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            isActive: boolean;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }[] | undefined;
        conditions?: {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }[] | undefined;
        surgeries?: {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }[] | undefined;
    }, {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        patientId: string;
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        allergies?: {
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }[] | undefined;
        familyHistory?: {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }[] | undefined;
        immunizations?: {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }[] | undefined;
        socialHistory?: {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        } | undefined;
        medications?: {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            isActive: boolean;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }[] | undefined;
        conditions?: {
            name: string;
            severity: "moderate" | "mild" | "severe";
            isActive: boolean;
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }[] | undefined;
        surgeries?: {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }[] | undefined;
    }>;
    readonly CreatePatientRequest: z.ZodObject<{
        firstName: z.ZodString;
        lastName: z.ZodString;
        middleName: z.ZodOptional<z.ZodString>;
        dateOfBirth: z.ZodDate;
        gender: z.ZodNativeEnum<typeof Gender>;
        bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
        height: z.ZodOptional<z.ZodNumber>;
        weight: z.ZodOptional<z.ZodNumber>;
        ethnicity: z.ZodOptional<z.ZodString>;
        nationality: z.ZodOptional<z.ZodString>;
        language: z.ZodOptional<z.ZodString>;
        occupation: z.ZodOptional<z.ZodString>;
        education: z.ZodOptional<z.ZodString>;
        maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
        phoneNumbers: z.ZodOptional<z.ZodArray<z.ZodObject<{
            value: z.ZodString;
            type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
            isPrimary: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isPrimary?: boolean | undefined;
        }, {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isPrimary?: boolean | undefined;
        }>, "many">>;
        addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
            street: z.ZodString;
            city: z.ZodString;
            state: z.ZodString;
            postalCode: z.ZodString;
            country: z.ZodString;
            type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
            isPrimary: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
            isPrimary?: boolean | undefined;
        }, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
            isPrimary?: boolean | undefined;
        }>, "many">>;
        emergencyContact: z.ZodOptional<z.ZodObject<{
            name: z.ZodString;
            relationship: z.ZodString;
            phoneNumber: z.ZodString;
            email: z.ZodOptional<z.ZodString>;
            address: z.ZodOptional<z.ZodObject<{
                street: z.ZodString;
                city: z.ZodString;
                state: z.ZodString;
                postalCode: z.ZodString;
                country: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                street: string;
                city: string;
                country: string;
                state: string;
                postalCode: string;
            }, {
                street: string;
                city: string;
                country: string;
                state: string;
                postalCode: string;
            }>>;
        }, "strip", z.ZodTypeAny, {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                street: string;
                city: string;
                country: string;
                state: string;
                postalCode: string;
            } | undefined;
        }, {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                street: string;
                city: string;
                country: string;
                state: string;
                postalCode: string;
            } | undefined;
        }>>;
        insurance: z.ZodOptional<z.ZodObject<{
            provider: z.ZodString;
            policyNumber: z.ZodString;
            groupNumber: z.ZodOptional<z.ZodString>;
            subscriberName: z.ZodString;
            relationship: z.ZodString;
            effectiveDate: z.ZodDate;
            expiryDate: z.ZodOptional<z.ZodDate>;
            copay: z.ZodOptional<z.ZodNumber>;
            deductible: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        }, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        }>>;
        preferences: z.ZodOptional<z.ZodObject<{
            communicationMethod: z.ZodOptional<z.ZodEnum<["email", "sms", "phone", "mail"]>>;
            appointmentReminders: z.ZodOptional<z.ZodBoolean>;
            marketingConsent: z.ZodOptional<z.ZodBoolean>;
            privacyConsent: z.ZodOptional<z.ZodBoolean>;
            language: z.ZodOptional<z.ZodString>;
            timezone: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        }, {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        }>>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        gender: Gender;
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        } | undefined;
        tags?: string[] | undefined;
        middleName?: string | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                street: string;
                city: string;
                country: string;
                state: string;
                postalCode: string;
            } | undefined;
        } | undefined;
        preferences?: {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        } | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isPrimary?: boolean | undefined;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
            isPrimary?: boolean | undefined;
        }[] | undefined;
    }, {
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        gender: Gender;
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        } | undefined;
        tags?: string[] | undefined;
        middleName?: string | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                street: string;
                city: string;
                country: string;
                state: string;
                postalCode: string;
            } | undefined;
        } | undefined;
        preferences?: {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        } | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isPrimary?: boolean | undefined;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
            isPrimary?: boolean | undefined;
        }[] | undefined;
    }>;
    readonly UpdatePatientRequest: z.ZodObject<{
        firstName: z.ZodOptional<z.ZodString>;
        lastName: z.ZodOptional<z.ZodString>;
        middleName: z.ZodOptional<z.ZodString>;
        dateOfBirth: z.ZodOptional<z.ZodDate>;
        gender: z.ZodOptional<z.ZodNativeEnum<typeof Gender>>;
        bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
        height: z.ZodOptional<z.ZodNumber>;
        weight: z.ZodOptional<z.ZodNumber>;
        ethnicity: z.ZodOptional<z.ZodString>;
        nationality: z.ZodOptional<z.ZodString>;
        language: z.ZodOptional<z.ZodString>;
        occupation: z.ZodOptional<z.ZodString>;
        education: z.ZodOptional<z.ZodString>;
        maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
        status: z.ZodOptional<z.ZodNativeEnum<typeof PatientStatus>>;
        phoneNumbers: z.ZodOptional<z.ZodArray<z.ZodObject<{
            value: z.ZodString;
            type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
            isPrimary: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isPrimary?: boolean | undefined;
        }, {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isPrimary?: boolean | undefined;
        }>, "many">>;
        addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
            street: z.ZodString;
            city: z.ZodString;
            state: z.ZodString;
            postalCode: z.ZodString;
            country: z.ZodString;
            type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
            isPrimary: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
            isPrimary?: boolean | undefined;
        }, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
            isPrimary?: boolean | undefined;
        }>, "many">>;
        emergencyContact: z.ZodOptional<z.ZodObject<{
            name: z.ZodString;
            relationship: z.ZodString;
            phoneNumber: z.ZodString;
            email: z.ZodOptional<z.ZodString>;
            address: z.ZodOptional<z.ZodObject<{
                street: z.ZodString;
                city: z.ZodString;
                state: z.ZodString;
                postalCode: z.ZodString;
                country: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                street: string;
                city: string;
                country: string;
                state: string;
                postalCode: string;
            }, {
                street: string;
                city: string;
                country: string;
                state: string;
                postalCode: string;
            }>>;
        }, "strip", z.ZodTypeAny, {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                street: string;
                city: string;
                country: string;
                state: string;
                postalCode: string;
            } | undefined;
        }, {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                street: string;
                city: string;
                country: string;
                state: string;
                postalCode: string;
            } | undefined;
        }>>;
        insurance: z.ZodOptional<z.ZodObject<{
            provider: z.ZodString;
            policyNumber: z.ZodString;
            groupNumber: z.ZodOptional<z.ZodString>;
            subscriberName: z.ZodString;
            relationship: z.ZodString;
            effectiveDate: z.ZodDate;
            expiryDate: z.ZodOptional<z.ZodDate>;
            copay: z.ZodOptional<z.ZodNumber>;
            deductible: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        }, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        }>>;
        preferences: z.ZodOptional<z.ZodObject<{
            communicationMethod: z.ZodOptional<z.ZodEnum<["email", "sms", "phone", "mail"]>>;
            appointmentReminders: z.ZodOptional<z.ZodBoolean>;
            marketingConsent: z.ZodOptional<z.ZodBoolean>;
            privacyConsent: z.ZodOptional<z.ZodBoolean>;
            language: z.ZodOptional<z.ZodString>;
            timezone: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        }, {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        }>>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        } | undefined;
        status?: PatientStatus | undefined;
        tags?: string[] | undefined;
        firstName?: string | undefined;
        lastName?: string | undefined;
        middleName?: string | undefined;
        dateOfBirth?: Date | undefined;
        gender?: Gender | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                street: string;
                city: string;
                country: string;
                state: string;
                postalCode: string;
            } | undefined;
        } | undefined;
        preferences?: {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        } | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isPrimary?: boolean | undefined;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
            isPrimary?: boolean | undefined;
        }[] | undefined;
    }, {
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
            copay?: number | undefined;
            deductible?: number | undefined;
        } | undefined;
        status?: PatientStatus | undefined;
        tags?: string[] | undefined;
        firstName?: string | undefined;
        lastName?: string | undefined;
        middleName?: string | undefined;
        dateOfBirth?: Date | undefined;
        gender?: Gender | undefined;
        bloodType?: BloodType | undefined;
        height?: number | undefined;
        weight?: number | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
            address?: {
                street: string;
                city: string;
                country: string;
                state: string;
                postalCode: string;
            } | undefined;
        } | undefined;
        preferences?: {
            language?: string | undefined;
            timezone?: string | undefined;
            communicationMethod?: "sms" | "email" | "phone" | "mail" | undefined;
            appointmentReminders?: boolean | undefined;
            marketingConsent?: boolean | undefined;
            privacyConsent?: boolean | undefined;
        } | undefined;
        language?: string | undefined;
        education?: string | undefined;
        ethnicity?: string | undefined;
        nationality?: string | undefined;
        occupation?: string | undefined;
        maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isPrimary?: boolean | undefined;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            state: string;
            postalCode: string;
            isPrimary?: boolean | undefined;
        }[] | undefined;
    }>;
    readonly AddMedicalHistoryRequest: z.ZodObject<{
        allergies: z.ZodOptional<z.ZodArray<z.ZodObject<{
            allergen: z.ZodString;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            reaction: z.ZodString;
            onsetDate: z.ZodOptional<z.ZodDate>;
        }, "strip", z.ZodTypeAny, {
            severity: "moderate" | "mild" | "severe";
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }, {
            severity: "moderate" | "mild" | "severe";
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }>, "many">>;
        medications: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            dosage: z.ZodString;
            frequency: z.ZodString;
            route: z.ZodEnum<["oral", "intravenous", "intramuscular", "subcutaneous", "topical", "inhalation"]>;
            startDate: z.ZodDate;
            endDate: z.ZodOptional<z.ZodDate>;
            prescribedBy: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }, {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }>, "many">>;
        conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            icd10Code: z.ZodOptional<z.ZodString>;
            diagnosisDate: z.ZodDate;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            notes: z.ZodOptional<z.ZodString>;
            diagnosedBy: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            severity: "moderate" | "mild" | "severe";
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }, {
            name: string;
            severity: "moderate" | "mild" | "severe";
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }>, "many">>;
        surgeries: z.ZodOptional<z.ZodArray<z.ZodObject<{
            procedure: z.ZodString;
            date: z.ZodDate;
            surgeon: z.ZodOptional<z.ZodString>;
            hospital: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
            complications: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }, {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }>, "many">>;
        immunizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
            vaccine: z.ZodString;
            date: z.ZodDate;
            nextDueDate: z.ZodOptional<z.ZodDate>;
            administeredBy: z.ZodOptional<z.ZodString>;
            lotNumber: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }, {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }>, "many">>;
        familyHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
            relationship: z.ZodString;
            condition: z.ZodString;
            ageOfOnset: z.ZodOptional<z.ZodNumber>;
            isDeceased: z.ZodOptional<z.ZodBoolean>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }, {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }>, "many">>;
        socialHistory: z.ZodOptional<z.ZodObject<{
            smoking: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
            alcohol: z.ZodOptional<z.ZodEnum<["never", "occasional", "moderate", "heavy"]>>;
            drugs: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
            exercise: z.ZodOptional<z.ZodEnum<["none", "light", "moderate", "heavy"]>>;
            diet: z.ZodOptional<z.ZodString>;
            occupation: z.ZodOptional<z.ZodString>;
            livingSituation: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        }, {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        allergies?: {
            severity: "moderate" | "mild" | "severe";
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }[] | undefined;
        familyHistory?: {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }[] | undefined;
        immunizations?: {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }[] | undefined;
        socialHistory?: {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        } | undefined;
        medications?: {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }[] | undefined;
        conditions?: {
            name: string;
            severity: "moderate" | "mild" | "severe";
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }[] | undefined;
        surgeries?: {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }[] | undefined;
    }, {
        allergies?: {
            severity: "moderate" | "mild" | "severe";
            allergen: string;
            reaction: string;
            onsetDate?: Date | undefined;
        }[] | undefined;
        familyHistory?: {
            relationship: string;
            condition: string;
            notes?: string | undefined;
            ageOfOnset?: number | undefined;
            isDeceased?: boolean | undefined;
        }[] | undefined;
        immunizations?: {
            date: Date;
            vaccine: string;
            notes?: string | undefined;
            nextDueDate?: Date | undefined;
            administeredBy?: string | undefined;
            lotNumber?: string | undefined;
        }[] | undefined;
        socialHistory?: {
            notes?: string | undefined;
            exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
            occupation?: string | undefined;
            smoking?: "never" | "former" | "current" | undefined;
            alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
            drugs?: "never" | "former" | "current" | undefined;
            diet?: string | undefined;
            livingSituation?: string | undefined;
        } | undefined;
        medications?: {
            name: string;
            dosage: string;
            frequency: string;
            route: "oral" | "intravenous" | "intramuscular" | "subcutaneous" | "topical" | "inhalation";
            startDate: Date;
            notes?: string | undefined;
            endDate?: Date | undefined;
            prescribedBy?: string | undefined;
        }[] | undefined;
        conditions?: {
            name: string;
            severity: "moderate" | "mild" | "severe";
            diagnosisDate: Date;
            notes?: string | undefined;
            icd10Code?: string | undefined;
            diagnosedBy?: string | undefined;
        }[] | undefined;
        surgeries?: {
            procedure: string;
            date: Date;
            hospital?: string | undefined;
            notes?: string | undefined;
            surgeon?: string | undefined;
            complications?: string | undefined;
        }[] | undefined;
    }>;
    readonly AddDocumentRequest: z.ZodObject<{
        type: z.ZodEnum<["id", "insurance", "medical", "consent", "other"]>;
        name: z.ZodString;
        file: z.ZodOptional<z.ZodType<import("buffer").File, z.ZodTypeDef, import("buffer").File>>;
        url: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "other" | "medical" | "insurance" | "id" | "consent";
        name: string;
        notes?: string | undefined;
        url?: string | undefined;
        file?: import("buffer").File | undefined;
    }, {
        type: "other" | "medical" | "insurance" | "id" | "consent";
        name: string;
        notes?: string | undefined;
        url?: string | undefined;
        file?: import("buffer").File | undefined;
    }>;
    readonly AddNoteRequest: z.ZodObject<{
        content: z.ZodString;
        type: z.ZodEnum<["general", "clinical", "administrative"]>;
        isPrivate: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        type: "administrative" | "general" | "clinical";
        content: string;
        isPrivate?: boolean | undefined;
    }, {
        type: "administrative" | "general" | "clinical";
        content: string;
        isPrivate?: boolean | undefined;
    }>;
    readonly PatientResponse: z.ZodObject<{
        id: z.ZodBranded<z.ZodString, "PatientId">;
        code: z.ZodString;
        status: z.ZodNativeEnum<typeof PatientStatus>;
        profile: z.ZodObject<{
            firstName: z.ZodString;
            lastName: z.ZodString;
            middleName: z.ZodOptional<z.ZodString>;
            dateOfBirth: z.ZodDate;
            gender: z.ZodNativeEnum<typeof Gender>;
            bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
            height: z.ZodOptional<z.ZodNumber>;
            weight: z.ZodOptional<z.ZodNumber>;
            bmi: z.ZodOptional<z.ZodNumber>;
            ethnicity: z.ZodOptional<z.ZodString>;
            nationality: z.ZodOptional<z.ZodString>;
            language: z.ZodOptional<z.ZodString>;
            occupation: z.ZodOptional<z.ZodString>;
            education: z.ZodOptional<z.ZodString>;
            maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
        }, "strip", z.ZodTypeAny, {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        }, {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        }>;
        phoneNumbers: z.ZodOptional<z.ZodArray<z.ZodObject<{
            value: z.ZodString;
            type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
            isVerified: z.ZodBoolean;
            isPrimary: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }, {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }>, "many">>;
        addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
            street: z.ZodString;
            city: z.ZodString;
            state: z.ZodString;
            postalCode: z.ZodString;
            country: z.ZodString;
            type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
            isVerified: z.ZodBoolean;
            isPrimary: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }, {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }>, "many">>;
        emergencyContact: z.ZodOptional<z.ZodObject<{
            name: z.ZodString;
            relationship: z.ZodString;
            phoneNumber: z.ZodString;
            email: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        }, {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        }>>;
        insurance: z.ZodOptional<z.ZodObject<{
            provider: z.ZodString;
            policyNumber: z.ZodString;
            groupNumber: z.ZodOptional<z.ZodString>;
            subscriberName: z.ZodString;
            relationship: z.ZodString;
            effectiveDate: z.ZodDate;
            expiryDate: z.ZodOptional<z.ZodDate>;
        }, "strip", z.ZodTypeAny, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        }, {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        }>>;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        id: string & z.BRAND<"PatientId">;
        createdAt: Date;
        updatedAt: Date;
        status: PatientStatus;
        code: string;
        profile: {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        };
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        } | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        } | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }[] | undefined;
    }, {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: PatientStatus;
        code: string;
        profile: {
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            gender: Gender;
            middleName?: string | undefined;
            bloodType?: BloodType | undefined;
            height?: number | undefined;
            weight?: number | undefined;
            bmi?: number | undefined;
            language?: string | undefined;
            education?: string | undefined;
            ethnicity?: string | undefined;
            nationality?: string | undefined;
            occupation?: string | undefined;
            maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
        };
        insurance?: {
            provider: string;
            relationship: string;
            policyNumber: string;
            subscriberName: string;
            effectiveDate: Date;
            expiryDate?: Date | undefined;
            groupNumber?: string | undefined;
        } | undefined;
        emergencyContact?: {
            phoneNumber: string;
            name: string;
            relationship: string;
            email?: string | undefined;
        } | undefined;
        phoneNumbers?: {
            value: string;
            type: "mobile" | "emergency" | "home" | "work";
            isVerified: boolean;
            isPrimary: boolean;
        }[] | undefined;
        addresses?: {
            type: "home" | "billing" | "work" | "mailing";
            street: string;
            city: string;
            country: string;
            isVerified: boolean;
            state: string;
            postalCode: string;
            isPrimary: boolean;
        }[] | undefined;
    }>;
    readonly PatientListResponse: z.ZodObject<{
        patients: z.ZodArray<z.ZodObject<{
            id: z.ZodBranded<z.ZodString, "PatientId">;
            code: z.ZodString;
            status: z.ZodNativeEnum<typeof PatientStatus>;
            profile: z.ZodObject<{
                firstName: z.ZodString;
                lastName: z.ZodString;
                middleName: z.ZodOptional<z.ZodString>;
                dateOfBirth: z.ZodDate;
                gender: z.ZodNativeEnum<typeof Gender>;
                bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
                height: z.ZodOptional<z.ZodNumber>;
                weight: z.ZodOptional<z.ZodNumber>;
                bmi: z.ZodOptional<z.ZodNumber>;
                ethnicity: z.ZodOptional<z.ZodString>;
                nationality: z.ZodOptional<z.ZodString>;
                language: z.ZodOptional<z.ZodString>;
                occupation: z.ZodOptional<z.ZodString>;
                education: z.ZodOptional<z.ZodString>;
                maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
            }, "strip", z.ZodTypeAny, {
                firstName: string;
                lastName: string;
                dateOfBirth: Date;
                gender: Gender;
                middleName?: string | undefined;
                bloodType?: BloodType | undefined;
                height?: number | undefined;
                weight?: number | undefined;
                bmi?: number | undefined;
                language?: string | undefined;
                education?: string | undefined;
                ethnicity?: string | undefined;
                nationality?: string | undefined;
                occupation?: string | undefined;
                maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
            }, {
                firstName: string;
                lastName: string;
                dateOfBirth: Date;
                gender: Gender;
                middleName?: string | undefined;
                bloodType?: BloodType | undefined;
                height?: number | undefined;
                weight?: number | undefined;
                bmi?: number | undefined;
                language?: string | undefined;
                education?: string | undefined;
                ethnicity?: string | undefined;
                nationality?: string | undefined;
                occupation?: string | undefined;
                maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
            }>;
            phoneNumbers: z.ZodOptional<z.ZodArray<z.ZodObject<{
                value: z.ZodString;
                type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
                isVerified: z.ZodBoolean;
                isPrimary: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                isVerified: boolean;
                isPrimary: boolean;
            }, {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                isVerified: boolean;
                isPrimary: boolean;
            }>, "many">>;
            addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
                street: z.ZodString;
                city: z.ZodString;
                state: z.ZodString;
                postalCode: z.ZodString;
                country: z.ZodString;
                type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
                isVerified: z.ZodBoolean;
                isPrimary: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
            }, {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
            }>, "many">>;
            emergencyContact: z.ZodOptional<z.ZodObject<{
                name: z.ZodString;
                relationship: z.ZodString;
                phoneNumber: z.ZodString;
                email: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
            }, {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
            }>>;
            insurance: z.ZodOptional<z.ZodObject<{
                provider: z.ZodString;
                policyNumber: z.ZodString;
                groupNumber: z.ZodOptional<z.ZodString>;
                subscriberName: z.ZodString;
                relationship: z.ZodString;
                effectiveDate: z.ZodDate;
                expiryDate: z.ZodOptional<z.ZodDate>;
            }, "strip", z.ZodTypeAny, {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
            }, {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
            }>>;
            createdAt: z.ZodDate;
            updatedAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            id: string & z.BRAND<"PatientId">;
            createdAt: Date;
            updatedAt: Date;
            status: PatientStatus;
            code: string;
            profile: {
                firstName: string;
                lastName: string;
                dateOfBirth: Date;
                gender: Gender;
                middleName?: string | undefined;
                bloodType?: BloodType | undefined;
                height?: number | undefined;
                weight?: number | undefined;
                bmi?: number | undefined;
                language?: string | undefined;
                education?: string | undefined;
                ethnicity?: string | undefined;
                nationality?: string | undefined;
                occupation?: string | undefined;
                maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
            };
            insurance?: {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
            } | undefined;
            emergencyContact?: {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
            } | undefined;
            phoneNumbers?: {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                isVerified: boolean;
                isPrimary: boolean;
            }[] | undefined;
            addresses?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
            }[] | undefined;
        }, {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: PatientStatus;
            code: string;
            profile: {
                firstName: string;
                lastName: string;
                dateOfBirth: Date;
                gender: Gender;
                middleName?: string | undefined;
                bloodType?: BloodType | undefined;
                height?: number | undefined;
                weight?: number | undefined;
                bmi?: number | undefined;
                language?: string | undefined;
                education?: string | undefined;
                ethnicity?: string | undefined;
                nationality?: string | undefined;
                occupation?: string | undefined;
                maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
            };
            insurance?: {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
            } | undefined;
            emergencyContact?: {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
            } | undefined;
            phoneNumbers?: {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                isVerified: boolean;
                isPrimary: boolean;
            }[] | undefined;
            addresses?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
            }[] | undefined;
        }>, "many">;
        pagination: z.ZodObject<{
            page: z.ZodNumber;
            limit: z.ZodNumber;
            total: z.ZodNumber;
            totalPages: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            page: number;
            limit: number;
            total: number;
            totalPages: number;
        }, {
            page: number;
            limit: number;
            total: number;
            totalPages: number;
        }>;
    }, "strip", z.ZodTypeAny, {
        pagination: {
            page: number;
            limit: number;
            total: number;
            totalPages: number;
        };
        patients: {
            id: string & z.BRAND<"PatientId">;
            createdAt: Date;
            updatedAt: Date;
            status: PatientStatus;
            code: string;
            profile: {
                firstName: string;
                lastName: string;
                dateOfBirth: Date;
                gender: Gender;
                middleName?: string | undefined;
                bloodType?: BloodType | undefined;
                height?: number | undefined;
                weight?: number | undefined;
                bmi?: number | undefined;
                language?: string | undefined;
                education?: string | undefined;
                ethnicity?: string | undefined;
                nationality?: string | undefined;
                occupation?: string | undefined;
                maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
            };
            insurance?: {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
            } | undefined;
            emergencyContact?: {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
            } | undefined;
            phoneNumbers?: {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                isVerified: boolean;
                isPrimary: boolean;
            }[] | undefined;
            addresses?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
            }[] | undefined;
        }[];
    }, {
        pagination: {
            page: number;
            limit: number;
            total: number;
            totalPages: number;
        };
        patients: {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: PatientStatus;
            code: string;
            profile: {
                firstName: string;
                lastName: string;
                dateOfBirth: Date;
                gender: Gender;
                middleName?: string | undefined;
                bloodType?: BloodType | undefined;
                height?: number | undefined;
                weight?: number | undefined;
                bmi?: number | undefined;
                language?: string | undefined;
                education?: string | undefined;
                ethnicity?: string | undefined;
                nationality?: string | undefined;
                occupation?: string | undefined;
                maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
            };
            insurance?: {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
            } | undefined;
            emergencyContact?: {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
            } | undefined;
            phoneNumbers?: {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                isVerified: boolean;
                isPrimary: boolean;
            }[] | undefined;
            addresses?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
            }[] | undefined;
        }[];
    }>;
    readonly PatientDetailResponse: z.ZodObject<{
        patient: z.ZodObject<{
            id: z.ZodBranded<z.ZodString, "PatientId">;
            code: z.ZodString;
            status: z.ZodNativeEnum<typeof PatientStatus>;
            profile: z.ZodObject<{
                firstName: z.ZodString;
                lastName: z.ZodString;
                middleName: z.ZodOptional<z.ZodString>;
                dateOfBirth: z.ZodDate;
                gender: z.ZodNativeEnum<typeof Gender>;
                bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
                height: z.ZodOptional<z.ZodNumber>;
                weight: z.ZodOptional<z.ZodNumber>;
                bmi: z.ZodOptional<z.ZodNumber>;
                ethnicity: z.ZodOptional<z.ZodString>;
                nationality: z.ZodOptional<z.ZodString>;
                language: z.ZodOptional<z.ZodString>;
                occupation: z.ZodOptional<z.ZodString>;
                education: z.ZodOptional<z.ZodString>;
                maritalStatus: z.ZodOptional<z.ZodEnum<["single", "married", "divorced", "widowed", "separated"]>>;
            }, "strip", z.ZodTypeAny, {
                firstName: string;
                lastName: string;
                dateOfBirth: Date;
                gender: Gender;
                middleName?: string | undefined;
                bloodType?: BloodType | undefined;
                height?: number | undefined;
                weight?: number | undefined;
                bmi?: number | undefined;
                language?: string | undefined;
                education?: string | undefined;
                ethnicity?: string | undefined;
                nationality?: string | undefined;
                occupation?: string | undefined;
                maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
            }, {
                firstName: string;
                lastName: string;
                dateOfBirth: Date;
                gender: Gender;
                middleName?: string | undefined;
                bloodType?: BloodType | undefined;
                height?: number | undefined;
                weight?: number | undefined;
                bmi?: number | undefined;
                language?: string | undefined;
                education?: string | undefined;
                ethnicity?: string | undefined;
                nationality?: string | undefined;
                occupation?: string | undefined;
                maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
            }>;
            phoneNumbers: z.ZodOptional<z.ZodArray<z.ZodObject<{
                value: z.ZodString;
                type: z.ZodEnum<["mobile", "home", "work", "emergency"]>;
                isVerified: z.ZodBoolean;
                isPrimary: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                isVerified: boolean;
                isPrimary: boolean;
            }, {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                isVerified: boolean;
                isPrimary: boolean;
            }>, "many">>;
            addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
                street: z.ZodString;
                city: z.ZodString;
                state: z.ZodString;
                postalCode: z.ZodString;
                country: z.ZodString;
                type: z.ZodEnum<["home", "work", "mailing", "billing"]>;
                isVerified: z.ZodBoolean;
                isPrimary: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
            }, {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
            }>, "many">>;
            emergencyContact: z.ZodOptional<z.ZodObject<{
                name: z.ZodString;
                relationship: z.ZodString;
                phoneNumber: z.ZodString;
                email: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
            }, {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
            }>>;
            insurance: z.ZodOptional<z.ZodObject<{
                provider: z.ZodString;
                policyNumber: z.ZodString;
                groupNumber: z.ZodOptional<z.ZodString>;
                subscriberName: z.ZodString;
                relationship: z.ZodString;
                effectiveDate: z.ZodDate;
                expiryDate: z.ZodOptional<z.ZodDate>;
            }, "strip", z.ZodTypeAny, {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
            }, {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
            }>>;
            createdAt: z.ZodDate;
            updatedAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            id: string & z.BRAND<"PatientId">;
            createdAt: Date;
            updatedAt: Date;
            status: PatientStatus;
            code: string;
            profile: {
                firstName: string;
                lastName: string;
                dateOfBirth: Date;
                gender: Gender;
                middleName?: string | undefined;
                bloodType?: BloodType | undefined;
                height?: number | undefined;
                weight?: number | undefined;
                bmi?: number | undefined;
                language?: string | undefined;
                education?: string | undefined;
                ethnicity?: string | undefined;
                nationality?: string | undefined;
                occupation?: string | undefined;
                maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
            };
            insurance?: {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
            } | undefined;
            emergencyContact?: {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
            } | undefined;
            phoneNumbers?: {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                isVerified: boolean;
                isPrimary: boolean;
            }[] | undefined;
            addresses?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
            }[] | undefined;
        }, {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: PatientStatus;
            code: string;
            profile: {
                firstName: string;
                lastName: string;
                dateOfBirth: Date;
                gender: Gender;
                middleName?: string | undefined;
                bloodType?: BloodType | undefined;
                height?: number | undefined;
                weight?: number | undefined;
                bmi?: number | undefined;
                language?: string | undefined;
                education?: string | undefined;
                ethnicity?: string | undefined;
                nationality?: string | undefined;
                occupation?: string | undefined;
                maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
            };
            insurance?: {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
            } | undefined;
            emergencyContact?: {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
            } | undefined;
            phoneNumbers?: {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                isVerified: boolean;
                isPrimary: boolean;
            }[] | undefined;
            addresses?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
            }[] | undefined;
        }>;
        medicalHistory: z.ZodOptional<z.ZodObject<{
            allergies: z.ZodOptional<z.ZodArray<z.ZodObject<{
                allergen: z.ZodString;
                severity: z.ZodEnum<["mild", "moderate", "severe"]>;
                reaction: z.ZodString;
                isActive: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                allergen: string;
                reaction: string;
            }, {
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                allergen: string;
                reaction: string;
            }>, "many">>;
            medications: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                dosage: z.ZodString;
                frequency: z.ZodString;
                isActive: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                name: string;
                dosage: string;
                frequency: string;
                isActive: boolean;
            }, {
                name: string;
                dosage: string;
                frequency: string;
                isActive: boolean;
            }>, "many">>;
            conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                icd10Code: z.ZodOptional<z.ZodString>;
                diagnosisDate: z.ZodDate;
                severity: z.ZodEnum<["mild", "moderate", "severe"]>;
                isActive: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                name: string;
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                diagnosisDate: Date;
                icd10Code?: string | undefined;
            }, {
                name: string;
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                diagnosisDate: Date;
                icd10Code?: string | undefined;
            }>, "many">>;
            surgeries: z.ZodOptional<z.ZodArray<z.ZodObject<{
                procedure: z.ZodString;
                date: z.ZodDate;
                surgeon: z.ZodOptional<z.ZodString>;
                hospital: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                procedure: string;
                date: Date;
                hospital?: string | undefined;
                surgeon?: string | undefined;
            }, {
                procedure: string;
                date: Date;
                hospital?: string | undefined;
                surgeon?: string | undefined;
            }>, "many">>;
            immunizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
                vaccine: z.ZodString;
                date: z.ZodDate;
                nextDueDate: z.ZodOptional<z.ZodDate>;
            }, "strip", z.ZodTypeAny, {
                date: Date;
                vaccine: string;
                nextDueDate?: Date | undefined;
            }, {
                date: Date;
                vaccine: string;
                nextDueDate?: Date | undefined;
            }>, "many">>;
            familyHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
                relationship: z.ZodString;
                condition: z.ZodString;
                ageOfOnset: z.ZodOptional<z.ZodNumber>;
                isDeceased: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                relationship: string;
                condition: string;
                ageOfOnset?: number | undefined;
                isDeceased?: boolean | undefined;
            }, {
                relationship: string;
                condition: string;
                ageOfOnset?: number | undefined;
                isDeceased?: boolean | undefined;
            }>, "many">>;
            socialHistory: z.ZodOptional<z.ZodObject<{
                smoking: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
                alcohol: z.ZodOptional<z.ZodEnum<["never", "occasional", "moderate", "heavy"]>>;
                drugs: z.ZodOptional<z.ZodEnum<["never", "former", "current"]>>;
                exercise: z.ZodOptional<z.ZodEnum<["none", "light", "moderate", "heavy"]>>;
                diet: z.ZodOptional<z.ZodString>;
                occupation: z.ZodOptional<z.ZodString>;
                livingSituation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
                occupation?: string | undefined;
                smoking?: "never" | "former" | "current" | undefined;
                alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
                drugs?: "never" | "former" | "current" | undefined;
                diet?: string | undefined;
                livingSituation?: string | undefined;
            }, {
                exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
                occupation?: string | undefined;
                smoking?: "never" | "former" | "current" | undefined;
                alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
                drugs?: "never" | "former" | "current" | undefined;
                diet?: string | undefined;
                livingSituation?: string | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            allergies?: {
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                allergen: string;
                reaction: string;
            }[] | undefined;
            familyHistory?: {
                relationship: string;
                condition: string;
                ageOfOnset?: number | undefined;
                isDeceased?: boolean | undefined;
            }[] | undefined;
            immunizations?: {
                date: Date;
                vaccine: string;
                nextDueDate?: Date | undefined;
            }[] | undefined;
            socialHistory?: {
                exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
                occupation?: string | undefined;
                smoking?: "never" | "former" | "current" | undefined;
                alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
                drugs?: "never" | "former" | "current" | undefined;
                diet?: string | undefined;
                livingSituation?: string | undefined;
            } | undefined;
            medications?: {
                name: string;
                dosage: string;
                frequency: string;
                isActive: boolean;
            }[] | undefined;
            conditions?: {
                name: string;
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                diagnosisDate: Date;
                icd10Code?: string | undefined;
            }[] | undefined;
            surgeries?: {
                procedure: string;
                date: Date;
                hospital?: string | undefined;
                surgeon?: string | undefined;
            }[] | undefined;
        }, {
            allergies?: {
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                allergen: string;
                reaction: string;
            }[] | undefined;
            familyHistory?: {
                relationship: string;
                condition: string;
                ageOfOnset?: number | undefined;
                isDeceased?: boolean | undefined;
            }[] | undefined;
            immunizations?: {
                date: Date;
                vaccine: string;
                nextDueDate?: Date | undefined;
            }[] | undefined;
            socialHistory?: {
                exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
                occupation?: string | undefined;
                smoking?: "never" | "former" | "current" | undefined;
                alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
                drugs?: "never" | "former" | "current" | undefined;
                diet?: string | undefined;
                livingSituation?: string | undefined;
            } | undefined;
            medications?: {
                name: string;
                dosage: string;
                frequency: string;
                isActive: boolean;
            }[] | undefined;
            conditions?: {
                name: string;
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                diagnosisDate: Date;
                icd10Code?: string | undefined;
            }[] | undefined;
            surgeries?: {
                procedure: string;
                date: Date;
                hospital?: string | undefined;
                surgeon?: string | undefined;
            }[] | undefined;
        }>>;
        documents: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            type: z.ZodEnum<["id", "insurance", "medical", "consent", "other"]>;
            name: z.ZodString;
            url: z.ZodString;
            size: z.ZodNumber;
            uploadedAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            type: "other" | "medical" | "insurance" | "id" | "consent";
            id: string;
            name: string;
            url: string;
            size: number;
            uploadedAt: Date;
        }, {
            type: "other" | "medical" | "insurance" | "id" | "consent";
            id: string;
            name: string;
            url: string;
            size: number;
            uploadedAt: Date;
        }>, "many">>;
        notes: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            content: z.ZodString;
            type: z.ZodEnum<["general", "clinical", "administrative"]>;
            isPrivate: z.ZodBoolean;
            createdBy: z.ZodString;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            type: "administrative" | "general" | "clinical";
            id: string;
            createdAt: Date;
            createdBy: string;
            content: string;
            isPrivate: boolean;
        }, {
            type: "administrative" | "general" | "clinical";
            id: string;
            createdAt: Date;
            createdBy: string;
            content: string;
            isPrivate: boolean;
        }>, "many">>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        patient: {
            id: string & z.BRAND<"PatientId">;
            createdAt: Date;
            updatedAt: Date;
            status: PatientStatus;
            code: string;
            profile: {
                firstName: string;
                lastName: string;
                dateOfBirth: Date;
                gender: Gender;
                middleName?: string | undefined;
                bloodType?: BloodType | undefined;
                height?: number | undefined;
                weight?: number | undefined;
                bmi?: number | undefined;
                language?: string | undefined;
                education?: string | undefined;
                ethnicity?: string | undefined;
                nationality?: string | undefined;
                occupation?: string | undefined;
                maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
            };
            insurance?: {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
            } | undefined;
            emergencyContact?: {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
            } | undefined;
            phoneNumbers?: {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                isVerified: boolean;
                isPrimary: boolean;
            }[] | undefined;
            addresses?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
            }[] | undefined;
        };
        tags?: string[] | undefined;
        notes?: {
            type: "administrative" | "general" | "clinical";
            id: string;
            createdAt: Date;
            createdBy: string;
            content: string;
            isPrivate: boolean;
        }[] | undefined;
        medicalHistory?: {
            allergies?: {
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                allergen: string;
                reaction: string;
            }[] | undefined;
            familyHistory?: {
                relationship: string;
                condition: string;
                ageOfOnset?: number | undefined;
                isDeceased?: boolean | undefined;
            }[] | undefined;
            immunizations?: {
                date: Date;
                vaccine: string;
                nextDueDate?: Date | undefined;
            }[] | undefined;
            socialHistory?: {
                exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
                occupation?: string | undefined;
                smoking?: "never" | "former" | "current" | undefined;
                alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
                drugs?: "never" | "former" | "current" | undefined;
                diet?: string | undefined;
                livingSituation?: string | undefined;
            } | undefined;
            medications?: {
                name: string;
                dosage: string;
                frequency: string;
                isActive: boolean;
            }[] | undefined;
            conditions?: {
                name: string;
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                diagnosisDate: Date;
                icd10Code?: string | undefined;
            }[] | undefined;
            surgeries?: {
                procedure: string;
                date: Date;
                hospital?: string | undefined;
                surgeon?: string | undefined;
            }[] | undefined;
        } | undefined;
        documents?: {
            type: "other" | "medical" | "insurance" | "id" | "consent";
            id: string;
            name: string;
            url: string;
            size: number;
            uploadedAt: Date;
        }[] | undefined;
    }, {
        patient: {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: PatientStatus;
            code: string;
            profile: {
                firstName: string;
                lastName: string;
                dateOfBirth: Date;
                gender: Gender;
                middleName?: string | undefined;
                bloodType?: BloodType | undefined;
                height?: number | undefined;
                weight?: number | undefined;
                bmi?: number | undefined;
                language?: string | undefined;
                education?: string | undefined;
                ethnicity?: string | undefined;
                nationality?: string | undefined;
                occupation?: string | undefined;
                maritalStatus?: "single" | "married" | "divorced" | "widowed" | "separated" | undefined;
            };
            insurance?: {
                provider: string;
                relationship: string;
                policyNumber: string;
                subscriberName: string;
                effectiveDate: Date;
                expiryDate?: Date | undefined;
                groupNumber?: string | undefined;
            } | undefined;
            emergencyContact?: {
                phoneNumber: string;
                name: string;
                relationship: string;
                email?: string | undefined;
            } | undefined;
            phoneNumbers?: {
                value: string;
                type: "mobile" | "emergency" | "home" | "work";
                isVerified: boolean;
                isPrimary: boolean;
            }[] | undefined;
            addresses?: {
                type: "home" | "billing" | "work" | "mailing";
                street: string;
                city: string;
                country: string;
                isVerified: boolean;
                state: string;
                postalCode: string;
                isPrimary: boolean;
            }[] | undefined;
        };
        tags?: string[] | undefined;
        notes?: {
            type: "administrative" | "general" | "clinical";
            id: string;
            createdAt: Date;
            createdBy: string;
            content: string;
            isPrivate: boolean;
        }[] | undefined;
        medicalHistory?: {
            allergies?: {
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                allergen: string;
                reaction: string;
            }[] | undefined;
            familyHistory?: {
                relationship: string;
                condition: string;
                ageOfOnset?: number | undefined;
                isDeceased?: boolean | undefined;
            }[] | undefined;
            immunizations?: {
                date: Date;
                vaccine: string;
                nextDueDate?: Date | undefined;
            }[] | undefined;
            socialHistory?: {
                exercise?: "light" | "none" | "moderate" | "heavy" | undefined;
                occupation?: string | undefined;
                smoking?: "never" | "former" | "current" | undefined;
                alcohol?: "never" | "occasional" | "moderate" | "heavy" | undefined;
                drugs?: "never" | "former" | "current" | undefined;
                diet?: string | undefined;
                livingSituation?: string | undefined;
            } | undefined;
            medications?: {
                name: string;
                dosage: string;
                frequency: string;
                isActive: boolean;
            }[] | undefined;
            conditions?: {
                name: string;
                severity: "moderate" | "mild" | "severe";
                isActive: boolean;
                diagnosisDate: Date;
                icd10Code?: string | undefined;
            }[] | undefined;
            surgeries?: {
                procedure: string;
                date: Date;
                hospital?: string | undefined;
                surgeon?: string | undefined;
            }[] | undefined;
        } | undefined;
        documents?: {
            type: "other" | "medical" | "insurance" | "id" | "consent";
            id: string;
            name: string;
            url: string;
            size: number;
            uploadedAt: Date;
        }[] | undefined;
    }>;
    readonly PatientSearchFilters: z.ZodObject<{
        query: z.ZodOptional<z.ZodString>;
        status: z.ZodOptional<z.ZodNativeEnum<typeof PatientStatus>>;
        gender: z.ZodOptional<z.ZodNativeEnum<typeof Gender>>;
        bloodType: z.ZodOptional<z.ZodNativeEnum<typeof BloodType>>;
        ageRange: z.ZodOptional<z.ZodObject<{
            min: z.ZodOptional<z.ZodNumber>;
            max: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            min?: number | undefined;
            max?: number | undefined;
        }, {
            min?: number | undefined;
            max?: number | undefined;
        }>>;
        dateOfBirthAfter: z.ZodOptional<z.ZodDate>;
        dateOfBirthBefore: z.ZodOptional<z.ZodDate>;
        hasInsurance: z.ZodOptional<z.ZodBoolean>;
        hasEmergencyContact: z.ZodOptional<z.ZodBoolean>;
        hasAllergies: z.ZodOptional<z.ZodBoolean>;
        hasActiveMedications: z.ZodOptional<z.ZodBoolean>;
        hasActiveConditions: z.ZodOptional<z.ZodBoolean>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        createdAfter: z.ZodOptional<z.ZodDate>;
        createdBefore: z.ZodOptional<z.ZodDate>;
    }, "strip", z.ZodTypeAny, {
        status?: PatientStatus | undefined;
        tags?: string[] | undefined;
        gender?: Gender | undefined;
        bloodType?: BloodType | undefined;
        query?: string | undefined;
        createdAfter?: Date | undefined;
        createdBefore?: Date | undefined;
        ageRange?: {
            min?: number | undefined;
            max?: number | undefined;
        } | undefined;
        dateOfBirthAfter?: Date | undefined;
        dateOfBirthBefore?: Date | undefined;
        hasInsurance?: boolean | undefined;
        hasEmergencyContact?: boolean | undefined;
        hasAllergies?: boolean | undefined;
        hasActiveMedications?: boolean | undefined;
        hasActiveConditions?: boolean | undefined;
    }, {
        status?: PatientStatus | undefined;
        tags?: string[] | undefined;
        gender?: Gender | undefined;
        bloodType?: BloodType | undefined;
        query?: string | undefined;
        createdAfter?: Date | undefined;
        createdBefore?: Date | undefined;
        ageRange?: {
            min?: number | undefined;
            max?: number | undefined;
        } | undefined;
        dateOfBirthAfter?: Date | undefined;
        dateOfBirthBefore?: Date | undefined;
        hasInsurance?: boolean | undefined;
        hasEmergencyContact?: boolean | undefined;
        hasAllergies?: boolean | undefined;
        hasActiveMedications?: boolean | undefined;
        hasActiveConditions?: boolean | undefined;
    }>;
    readonly PatientSortOptions: z.ZodEnum<["createdAt", "updatedAt", "firstName", "lastName", "dateOfBirth", "status", "code"]>;
    readonly ValidationUtils: {
        isValidPhoneNumber: (phone: string) => boolean;
        calculateAge: (dateOfBirth: Date) => number;
        calculateBMI: (height: number, weight: number) => number;
        getBMICategory: (bmi: number) => string;
        validatePatientData: (data: any) => {
            isValid: boolean;
            errors: string[];
        };
    };
};
//# sourceMappingURL=patient-schemas.d.ts.map