UNPKG

emr-types

Version:

Comprehensive TypeScript Types Library for Electronic Medical Record (EMR) Applications - Domain-Driven Design with Zod Validation

6,138 lines 215 kB
import { z } from 'zod';
import { AppointmentStatus, AppointmentType } from '../domains/appointment';
export declare const AppointmentIdSchema: z.ZodBranded<z.ZodString, "AppointmentId">;
export declare const TimeSlotSchema: z.ZodEffects<z.ZodObject<{
    startTime: z.ZodDate;
    endTime: z.ZodDate;
}, "strip", z.ZodTypeAny, {
    startTime: Date;
    endTime: Date;
}, {
    startTime: Date;
    endTime: Date;
}>, {
    startTime: Date;
    endTime: Date;
}, {
    startTime: Date;
    endTime: Date;
}>;
export declare const DurationSchema: z.ZodEffects<z.ZodObject<{
    minutes: z.ZodNumber;
    hours: z.ZodNumber;
    days: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    minutes: number;
    hours: number;
    days: number;
}, {
    minutes: number;
    hours: number;
    days: number;
}>, {
    minutes: number;
    hours: number;
    days: number;
}, {
    minutes: number;
    hours: number;
    days: number;
}>;
export declare const AppointmentStatusSchema: z.ZodNativeEnum<typeof AppointmentStatus>;
export declare const AppointmentTypeSchema: z.ZodNativeEnum<typeof AppointmentType>;
export declare const AppointmentIdValueObjectSchema: z.ZodObject<{
    value: z.ZodBranded<z.ZodString, "AppointmentId">;
    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<"AppointmentId">;
    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 TimeSlotValueObjectSchema: z.ZodObject<{
    value: z.ZodEffects<z.ZodObject<{
        startTime: z.ZodDate;
        endTime: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        startTime: Date;
        endTime: Date;
    }, {
        startTime: Date;
        endTime: Date;
    }>, {
        startTime: Date;
        endTime: Date;
    }, {
        startTime: Date;
        endTime: Date;
    }>;
    isAvailable: z.ZodBoolean;
    isBooked: z.ZodBoolean;
    isBlocked: z.ZodBoolean;
    blockReason: z.ZodOptional<z.ZodString>;
    createdAt: z.ZodDate;
}, "strip", z.ZodTypeAny, {
    value: {
        startTime: Date;
        endTime: Date;
    };
    createdAt: Date;
    isAvailable: boolean;
    isBooked: boolean;
    isBlocked: boolean;
    blockReason?: string | undefined;
}, {
    value: {
        startTime: Date;
        endTime: Date;
    };
    createdAt: Date;
    isAvailable: boolean;
    isBooked: boolean;
    isBlocked: boolean;
    blockReason?: string | undefined;
}>;
export declare const DurationValueObjectSchema: z.ZodObject<{
    value: z.ZodEffects<z.ZodObject<{
        minutes: z.ZodNumber;
        hours: z.ZodNumber;
        days: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        minutes: number;
        hours: number;
        days: number;
    }, {
        minutes: number;
        hours: number;
        days: number;
    }>, {
        minutes: number;
        hours: number;
        days: number;
    }, {
        minutes: number;
        hours: number;
        days: number;
    }>;
    isStandard: z.ZodBoolean;
    isCustom: z.ZodBoolean;
    createdAt: z.ZodDate;
}, "strip", z.ZodTypeAny, {
    value: {
        minutes: number;
        hours: number;
        days: number;
    };
    createdAt: Date;
    isStandard: boolean;
    isCustom: boolean;
}, {
    value: {
        minutes: number;
        hours: number;
        days: number;
    };
    createdAt: Date;
    isStandard: boolean;
    isCustom: boolean;
}>;
export declare const AppointmentSlotSchema: z.ZodObject<{
    id: z.ZodString;
    appointmentId: z.ZodOptional<z.ZodBranded<z.ZodString, "AppointmentId">>;
    timeSlot: z.ZodObject<{
        value: z.ZodEffects<z.ZodObject<{
            startTime: z.ZodDate;
            endTime: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            startTime: Date;
            endTime: Date;
        }, {
            startTime: Date;
            endTime: Date;
        }>, {
            startTime: Date;
            endTime: Date;
        }, {
            startTime: Date;
            endTime: Date;
        }>;
        isAvailable: z.ZodBoolean;
        isBooked: z.ZodBoolean;
        isBlocked: z.ZodBoolean;
        blockReason: z.ZodOptional<z.ZodString>;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        value: {
            startTime: Date;
            endTime: Date;
        };
        createdAt: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        blockReason?: string | undefined;
    }, {
        value: {
            startTime: Date;
            endTime: Date;
        };
        createdAt: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        blockReason?: string | undefined;
    }>;
    duration: z.ZodObject<{
        value: z.ZodEffects<z.ZodObject<{
            minutes: z.ZodNumber;
            hours: z.ZodNumber;
            days: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            minutes: number;
            hours: number;
            days: number;
        }, {
            minutes: number;
            hours: number;
            days: number;
        }>, {
            minutes: number;
            hours: number;
            days: number;
        }, {
            minutes: number;
            hours: number;
            days: number;
        }>;
        isStandard: z.ZodBoolean;
        isCustom: z.ZodBoolean;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        value: {
            minutes: number;
            hours: number;
            days: number;
        };
        createdAt: Date;
        isStandard: boolean;
        isCustom: boolean;
    }, {
        value: {
            minutes: number;
            hours: number;
            days: number;
        };
        createdAt: Date;
        isStandard: boolean;
        isCustom: boolean;
    }>;
    isAvailable: z.ZodBoolean;
    isBooked: z.ZodBoolean;
    isBlocked: z.ZodBoolean;
    blockReason: z.ZodOptional<z.ZodString>;
    recurringPattern: z.ZodOptional<z.ZodObject<{
        frequency: z.ZodEnum<["daily", "weekly", "monthly", "yearly"]>;
        interval: z.ZodNumber;
        endDate: z.ZodOptional<z.ZodDate>;
        maxOccurrences: z.ZodOptional<z.ZodNumber>;
        daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
        dayOfMonth: z.ZodOptional<z.ZodNumber>;
        monthOfYear: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        frequency: "daily" | "weekly" | "monthly" | "yearly";
        interval: number;
        endDate?: Date | undefined;
        maxOccurrences?: number | undefined;
        daysOfWeek?: number[] | undefined;
        dayOfMonth?: number | undefined;
        monthOfYear?: number | undefined;
    }, {
        frequency: "daily" | "weekly" | "monthly" | "yearly";
        interval: number;
        endDate?: Date | undefined;
        maxOccurrences?: number | undefined;
        daysOfWeek?: number[] | undefined;
        dayOfMonth?: number | undefined;
        monthOfYear?: number | undefined;
    }>>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
}, "strip", z.ZodTypeAny, {
    id: string;
    createdAt: Date;
    updatedAt: Date;
    duration: {
        value: {
            minutes: number;
            hours: number;
            days: number;
        };
        createdAt: Date;
        isStandard: boolean;
        isCustom: boolean;
    };
    isAvailable: boolean;
    isBooked: boolean;
    isBlocked: boolean;
    timeSlot: {
        value: {
            startTime: Date;
            endTime: Date;
        };
        createdAt: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        blockReason?: string | undefined;
    };
    appointmentId?: (string & z.BRAND<"AppointmentId">) | undefined;
    blockReason?: string | undefined;
    recurringPattern?: {
        frequency: "daily" | "weekly" | "monthly" | "yearly";
        interval: number;
        endDate?: Date | undefined;
        maxOccurrences?: number | undefined;
        daysOfWeek?: number[] | undefined;
        dayOfMonth?: number | undefined;
        monthOfYear?: number | undefined;
    } | undefined;
}, {
    id: string;
    createdAt: Date;
    updatedAt: Date;
    duration: {
        value: {
            minutes: number;
            hours: number;
            days: number;
        };
        createdAt: Date;
        isStandard: boolean;
        isCustom: boolean;
    };
    isAvailable: boolean;
    isBooked: boolean;
    isBlocked: boolean;
    timeSlot: {
        value: {
            startTime: Date;
            endTime: Date;
        };
        createdAt: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        blockReason?: string | undefined;
    };
    appointmentId?: string | undefined;
    blockReason?: string | undefined;
    recurringPattern?: {
        frequency: "daily" | "weekly" | "monthly" | "yearly";
        interval: number;
        endDate?: Date | undefined;
        maxOccurrences?: number | undefined;
        daysOfWeek?: number[] | undefined;
        dayOfMonth?: number | undefined;
        monthOfYear?: number | undefined;
    } | undefined;
}>;
export declare const AppointmentSchema: z.ZodObject<{
    id: z.ZodBranded<z.ZodString, "AppointmentId">;
    patientId: z.ZodString;
    providerId: z.ZodString;
    timeSlot: z.ZodObject<{
        value: z.ZodEffects<z.ZodObject<{
            startTime: z.ZodDate;
            endTime: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            startTime: Date;
            endTime: Date;
        }, {
            startTime: Date;
            endTime: Date;
        }>, {
            startTime: Date;
            endTime: Date;
        }, {
            startTime: Date;
            endTime: Date;
        }>;
        isAvailable: z.ZodBoolean;
        isBooked: z.ZodBoolean;
        isBlocked: z.ZodBoolean;
        blockReason: z.ZodOptional<z.ZodString>;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        value: {
            startTime: Date;
            endTime: Date;
        };
        createdAt: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        blockReason?: string | undefined;
    }, {
        value: {
            startTime: Date;
            endTime: Date;
        };
        createdAt: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        blockReason?: string | undefined;
    }>;
    duration: z.ZodObject<{
        value: z.ZodEffects<z.ZodObject<{
            minutes: z.ZodNumber;
            hours: z.ZodNumber;
            days: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            minutes: number;
            hours: number;
            days: number;
        }, {
            minutes: number;
            hours: number;
            days: number;
        }>, {
            minutes: number;
            hours: number;
            days: number;
        }, {
            minutes: number;
            hours: number;
            days: number;
        }>;
        isStandard: z.ZodBoolean;
        isCustom: z.ZodBoolean;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        value: {
            minutes: number;
            hours: number;
            days: number;
        };
        createdAt: Date;
        isStandard: boolean;
        isCustom: boolean;
    }, {
        value: {
            minutes: number;
            hours: number;
            days: number;
        };
        createdAt: Date;
        isStandard: boolean;
        isCustom: boolean;
    }>;
    type: z.ZodNativeEnum<typeof AppointmentType>;
    status: z.ZodNativeEnum<typeof AppointmentStatus>;
    reason: z.ZodString;
    notes: z.ZodOptional<z.ZodString>;
    symptoms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    diagnosis: z.ZodOptional<z.ZodArray<z.ZodObject<{
        condition: z.ZodString;
        icd10Code: z.ZodOptional<z.ZodString>;
        severity: z.ZodEnum<["mild", "moderate", "severe"]>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }, {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }>, "many">>;
    prescriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        medication: z.ZodString;
        dosage: z.ZodString;
        frequency: z.ZodString;
        duration: z.ZodString;
        instructions: z.ZodOptional<z.ZodString>;
        prescribedBy: z.ZodString;
        prescribedAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        prescribedBy: string;
        prescribedAt: Date;
        instructions?: string | undefined;
    }, {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        prescribedBy: string;
        prescribedAt: Date;
        instructions?: string | undefined;
    }>, "many">>;
    procedures: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        cptCode: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        performedBy: z.ZodString;
        performedAt: z.ZodOptional<z.ZodDate>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        performedBy: string;
        notes?: string | undefined;
        description?: string | undefined;
        cptCode?: string | undefined;
        performedAt?: Date | undefined;
    }, {
        name: string;
        performedBy: string;
        notes?: string | undefined;
        description?: string | undefined;
        cptCode?: string | undefined;
        performedAt?: Date | undefined;
    }>, "many">>;
    labOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
        testName: z.ZodString;
        loincCode: z.ZodOptional<z.ZodString>;
        labName: z.ZodString;
        orderedBy: z.ZodString;
        orderedAt: z.ZodDate;
        results: z.ZodOptional<z.ZodArray<z.ZodObject<{
            testName: z.ZodString;
            value: z.ZodString;
            unit: z.ZodOptional<z.ZodString>;
            referenceRange: z.ZodOptional<z.ZodString>;
            isAbnormal: z.ZodBoolean;
            notes: z.ZodOptional<z.ZodString>;
            reportedAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            value: string;
            testName: string;
            isAbnormal: boolean;
            reportedAt: Date;
            notes?: string | undefined;
            unit?: string | undefined;
            referenceRange?: string | undefined;
        }, {
            value: string;
            testName: string;
            isAbnormal: boolean;
            reportedAt: Date;
            notes?: string | undefined;
            unit?: string | undefined;
            referenceRange?: string | undefined;
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        testName: string;
        labName: string;
        orderedBy: string;
        orderedAt: Date;
        loincCode?: string | undefined;
        results?: {
            value: string;
            testName: string;
            isAbnormal: boolean;
            reportedAt: Date;
            notes?: string | undefined;
            unit?: string | undefined;
            referenceRange?: string | undefined;
        }[] | undefined;
    }, {
        testName: string;
        labName: string;
        orderedBy: string;
        orderedAt: Date;
        loincCode?: string | undefined;
        results?: {
            value: string;
            testName: string;
            isAbnormal: boolean;
            reportedAt: Date;
            notes?: string | undefined;
            unit?: string | undefined;
            referenceRange?: string | undefined;
        }[] | undefined;
    }>, "many">>;
    imagingOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
        studyName: z.ZodString;
        modality: z.ZodEnum<["x-ray", "ct", "mri", "ultrasound", "mammography", "other"]>;
        bodyPart: z.ZodString;
        facility: z.ZodString;
        orderedBy: z.ZodString;
        orderedAt: z.ZodDate;
        results: z.ZodOptional<z.ZodObject<{
            report: z.ZodString;
            images: z.ZodArray<z.ZodString, "many">;
            radiologist: z.ZodOptional<z.ZodString>;
            reportedAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            report: string;
            reportedAt: Date;
            images: string[];
            radiologist?: string | undefined;
        }, {
            report: string;
            reportedAt: Date;
            images: string[];
            radiologist?: string | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        facility: string;
        orderedBy: string;
        orderedAt: Date;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
        results?: {
            report: string;
            reportedAt: Date;
            images: string[];
            radiologist?: string | undefined;
        } | undefined;
    }, {
        facility: string;
        orderedBy: string;
        orderedAt: Date;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
        results?: {
            report: string;
            reportedAt: Date;
            images: string[];
            radiologist?: string | undefined;
        } | undefined;
    }>, "many">>;
    referrals: z.ZodOptional<z.ZodArray<z.ZodObject<{
        specialist: z.ZodString;
        specialty: z.ZodString;
        reason: z.ZodString;
        urgency: z.ZodEnum<["routine", "urgent", "emergency"]>;
        referredBy: z.ZodString;
        referredAt: z.ZodDate;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        referredBy: string;
        referredAt: Date;
        notes?: string | undefined;
    }, {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        referredBy: string;
        referredAt: Date;
        notes?: string | undefined;
    }>, "many">>;
    followUp: z.ZodOptional<z.ZodObject<{
        isRequired: z.ZodBoolean;
        recommendedDate: z.ZodOptional<z.ZodDate>;
        type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
        reason: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        isRequired: boolean;
        type?: AppointmentType | undefined;
        notes?: string | undefined;
        reason?: string | undefined;
        recommendedDate?: Date | undefined;
    }, {
        isRequired: boolean;
        type?: AppointmentType | undefined;
        notes?: string | undefined;
        reason?: string | undefined;
        recommendedDate?: Date | undefined;
    }>>;
    billing: z.ZodOptional<z.ZodObject<{
        totalAmount: z.ZodNumber;
        insuranceAmount: z.ZodNumber;
        patientAmount: z.ZodNumber;
        copay: z.ZodNumber;
        deductible: z.ZodNumber;
        status: z.ZodEnum<["pending", "billed", "paid", "denied", "appealed"]>;
        invoiceNumber: z.ZodOptional<z.ZodString>;
        billedAt: z.ZodOptional<z.ZodDate>;
        paidAt: z.ZodOptional<z.ZodDate>;
    }, "strip", z.ZodTypeAny, {
        status: "pending" | "billed" | "paid" | "denied" | "appealed";
        totalAmount: number;
        copay: number;
        deductible: number;
        insuranceAmount: number;
        patientAmount: number;
        paidAt?: Date | undefined;
        invoiceNumber?: string | undefined;
        billedAt?: Date | undefined;
    }, {
        status: "pending" | "billed" | "paid" | "denied" | "appealed";
        totalAmount: number;
        copay: number;
        deductible: number;
        insuranceAmount: number;
        patientAmount: number;
        paidAt?: Date | undefined;
        invoiceNumber?: string | undefined;
        billedAt?: Date | undefined;
    }>>;
    reminders: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodEnum<["email", "sms", "phone", "push"]>;
        scheduledAt: z.ZodDate;
        sentAt: z.ZodOptional<z.ZodDate>;
        status: z.ZodEnum<["scheduled", "sent", "failed", "cancelled"]>;
        message: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "push" | "sms" | "email" | "phone";
        status: "cancelled" | "scheduled" | "sent" | "failed";
        scheduledAt: Date;
        message?: string | undefined;
        sentAt?: Date | undefined;
    }, {
        type: "push" | "sms" | "email" | "phone";
        status: "cancelled" | "scheduled" | "sent" | "failed";
        scheduledAt: Date;
        message?: string | undefined;
        sentAt?: Date | undefined;
    }>, "many">>;
    attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        type: z.ZodEnum<["document", "image", "video", "audio"]>;
        url: z.ZodString;
        size: z.ZodNumber;
        mimeType: z.ZodString;
        uploadedBy: z.ZodString;
        uploadedAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        type: "document" | "image" | "video" | "audio";
        id: string;
        name: string;
        url: string;
        size: number;
        mimeType: string;
        uploadedAt: Date;
        uploadedBy: string;
    }, {
        type: "document" | "image" | "video" | "audio";
        id: string;
        name: string;
        url: string;
        size: number;
        mimeType: string;
        uploadedAt: Date;
        uploadedBy: string;
    }>, "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>;
    cancelledAt: z.ZodOptional<z.ZodDate>;
    cancelledBy: z.ZodOptional<z.ZodString>;
    cancellationReason: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: AppointmentType;
    id: string & z.BRAND<"AppointmentId">;
    createdAt: Date;
    updatedAt: Date;
    status: AppointmentStatus;
    patientId: string;
    duration: {
        value: {
            minutes: number;
            hours: number;
            days: number;
        };
        createdAt: Date;
        isStandard: boolean;
        isCustom: boolean;
    };
    providerId: string;
    reason: string;
    timeSlot: {
        value: {
            startTime: Date;
            endTime: Date;
        };
        createdAt: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        blockReason?: string | undefined;
    };
    createdBy?: string | undefined;
    updatedBy?: string | undefined;
    tags?: string[] | undefined;
    notes?: string | undefined;
    attachments?: {
        type: "document" | "image" | "video" | "audio";
        id: string;
        name: string;
        url: string;
        size: number;
        mimeType: string;
        uploadedAt: Date;
        uploadedBy: string;
    }[] | undefined;
    symptoms?: string[] | undefined;
    diagnosis?: {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }[] | undefined;
    prescriptions?: {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        prescribedBy: string;
        prescribedAt: Date;
        instructions?: string | undefined;
    }[] | undefined;
    procedures?: {
        name: string;
        performedBy: string;
        notes?: string | undefined;
        description?: string | undefined;
        cptCode?: string | undefined;
        performedAt?: Date | undefined;
    }[] | undefined;
    billing?: {
        status: "pending" | "billed" | "paid" | "denied" | "appealed";
        totalAmount: number;
        copay: number;
        deductible: number;
        insuranceAmount: number;
        patientAmount: number;
        paidAt?: Date | undefined;
        invoiceNumber?: string | undefined;
        billedAt?: Date | undefined;
    } | undefined;
    cancelledAt?: Date | undefined;
    labOrders?: {
        testName: string;
        labName: string;
        orderedBy: string;
        orderedAt: Date;
        loincCode?: string | undefined;
        results?: {
            value: string;
            testName: string;
            isAbnormal: boolean;
            reportedAt: Date;
            notes?: string | undefined;
            unit?: string | undefined;
            referenceRange?: string | undefined;
        }[] | undefined;
    }[] | undefined;
    imagingOrders?: {
        facility: string;
        orderedBy: string;
        orderedAt: Date;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
        results?: {
            report: string;
            reportedAt: Date;
            images: string[];
            radiologist?: string | undefined;
        } | undefined;
    }[] | undefined;
    referrals?: {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        referredBy: string;
        referredAt: Date;
        notes?: string | undefined;
    }[] | undefined;
    followUp?: {
        isRequired: boolean;
        type?: AppointmentType | undefined;
        notes?: string | undefined;
        reason?: string | undefined;
        recommendedDate?: Date | undefined;
    } | undefined;
    reminders?: {
        type: "push" | "sms" | "email" | "phone";
        status: "cancelled" | "scheduled" | "sent" | "failed";
        scheduledAt: Date;
        message?: string | undefined;
        sentAt?: Date | undefined;
    }[] | undefined;
    cancelledBy?: string | undefined;
    cancellationReason?: string | undefined;
}, {
    type: AppointmentType;
    id: string;
    createdAt: Date;
    updatedAt: Date;
    status: AppointmentStatus;
    patientId: string;
    duration: {
        value: {
            minutes: number;
            hours: number;
            days: number;
        };
        createdAt: Date;
        isStandard: boolean;
        isCustom: boolean;
    };
    providerId: string;
    reason: string;
    timeSlot: {
        value: {
            startTime: Date;
            endTime: Date;
        };
        createdAt: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        blockReason?: string | undefined;
    };
    createdBy?: string | undefined;
    updatedBy?: string | undefined;
    tags?: string[] | undefined;
    notes?: string | undefined;
    attachments?: {
        type: "document" | "image" | "video" | "audio";
        id: string;
        name: string;
        url: string;
        size: number;
        mimeType: string;
        uploadedAt: Date;
        uploadedBy: string;
    }[] | undefined;
    symptoms?: string[] | undefined;
    diagnosis?: {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }[] | undefined;
    prescriptions?: {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        prescribedBy: string;
        prescribedAt: Date;
        instructions?: string | undefined;
    }[] | undefined;
    procedures?: {
        name: string;
        performedBy: string;
        notes?: string | undefined;
        description?: string | undefined;
        cptCode?: string | undefined;
        performedAt?: Date | undefined;
    }[] | undefined;
    billing?: {
        status: "pending" | "billed" | "paid" | "denied" | "appealed";
        totalAmount: number;
        copay: number;
        deductible: number;
        insuranceAmount: number;
        patientAmount: number;
        paidAt?: Date | undefined;
        invoiceNumber?: string | undefined;
        billedAt?: Date | undefined;
    } | undefined;
    cancelledAt?: Date | undefined;
    labOrders?: {
        testName: string;
        labName: string;
        orderedBy: string;
        orderedAt: Date;
        loincCode?: string | undefined;
        results?: {
            value: string;
            testName: string;
            isAbnormal: boolean;
            reportedAt: Date;
            notes?: string | undefined;
            unit?: string | undefined;
            referenceRange?: string | undefined;
        }[] | undefined;
    }[] | undefined;
    imagingOrders?: {
        facility: string;
        orderedBy: string;
        orderedAt: Date;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
        results?: {
            report: string;
            reportedAt: Date;
            images: string[];
            radiologist?: string | undefined;
        } | undefined;
    }[] | undefined;
    referrals?: {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        referredBy: string;
        referredAt: Date;
        notes?: string | undefined;
    }[] | undefined;
    followUp?: {
        isRequired: boolean;
        type?: AppointmentType | undefined;
        notes?: string | undefined;
        reason?: string | undefined;
        recommendedDate?: Date | undefined;
    } | undefined;
    reminders?: {
        type: "push" | "sms" | "email" | "phone";
        status: "cancelled" | "scheduled" | "sent" | "failed";
        scheduledAt: Date;
        message?: string | undefined;
        sentAt?: Date | undefined;
    }[] | undefined;
    cancelledBy?: string | undefined;
    cancellationReason?: string | undefined;
}>;
export declare const CreateAppointmentRequestSchema: z.ZodEffects<z.ZodObject<{
    patientId: z.ZodString;
    providerId: z.ZodString;
    startTime: z.ZodDate;
    endTime: z.ZodDate;
    type: z.ZodNativeEnum<typeof AppointmentType>;
    reason: z.ZodString;
    notes: z.ZodOptional<z.ZodString>;
    symptoms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    isRecurring: z.ZodOptional<z.ZodBoolean>;
    recurringPattern: z.ZodOptional<z.ZodObject<{
        frequency: z.ZodEnum<["daily", "weekly", "monthly", "yearly"]>;
        interval: z.ZodNumber;
        endDate: z.ZodOptional<z.ZodDate>;
        maxOccurrences: z.ZodOptional<z.ZodNumber>;
        daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
        dayOfMonth: z.ZodOptional<z.ZodNumber>;
        monthOfYear: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        frequency: "daily" | "weekly" | "monthly" | "yearly";
        interval: number;
        endDate?: Date | undefined;
        maxOccurrences?: number | undefined;
        daysOfWeek?: number[] | undefined;
        dayOfMonth?: number | undefined;
        monthOfYear?: number | undefined;
    }, {
        frequency: "daily" | "weekly" | "monthly" | "yearly";
        interval: number;
        endDate?: Date | undefined;
        maxOccurrences?: number | undefined;
        daysOfWeek?: number[] | undefined;
        dayOfMonth?: number | undefined;
        monthOfYear?: number | undefined;
    }>>;
    reminders: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodEnum<["email", "sms", "phone", "push"]>;
        minutesBefore: z.ZodNumber;
        message: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "push" | "sms" | "email" | "phone";
        minutesBefore: number;
        message?: string | undefined;
    }, {
        type: "push" | "sms" | "email" | "phone";
        minutesBefore: number;
        message?: string | undefined;
    }>, "many">>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    type: AppointmentType;
    patientId: string;
    startTime: Date;
    endTime: Date;
    providerId: string;
    reason: string;
    tags?: string[] | undefined;
    notes?: string | undefined;
    symptoms?: string[] | undefined;
    recurringPattern?: {
        frequency: "daily" | "weekly" | "monthly" | "yearly";
        interval: number;
        endDate?: Date | undefined;
        maxOccurrences?: number | undefined;
        daysOfWeek?: number[] | undefined;
        dayOfMonth?: number | undefined;
        monthOfYear?: number | undefined;
    } | undefined;
    reminders?: {
        type: "push" | "sms" | "email" | "phone";
        minutesBefore: number;
        message?: string | undefined;
    }[] | undefined;
    isRecurring?: boolean | undefined;
}, {
    type: AppointmentType;
    patientId: string;
    startTime: Date;
    endTime: Date;
    providerId: string;
    reason: string;
    tags?: string[] | undefined;
    notes?: string | undefined;
    symptoms?: string[] | undefined;
    recurringPattern?: {
        frequency: "daily" | "weekly" | "monthly" | "yearly";
        interval: number;
        endDate?: Date | undefined;
        maxOccurrences?: number | undefined;
        daysOfWeek?: number[] | undefined;
        dayOfMonth?: number | undefined;
        monthOfYear?: number | undefined;
    } | undefined;
    reminders?: {
        type: "push" | "sms" | "email" | "phone";
        minutesBefore: number;
        message?: string | undefined;
    }[] | undefined;
    isRecurring?: boolean | undefined;
}>, {
    type: AppointmentType;
    patientId: string;
    startTime: Date;
    endTime: Date;
    providerId: string;
    reason: string;
    tags?: string[] | undefined;
    notes?: string | undefined;
    symptoms?: string[] | undefined;
    recurringPattern?: {
        frequency: "daily" | "weekly" | "monthly" | "yearly";
        interval: number;
        endDate?: Date | undefined;
        maxOccurrences?: number | undefined;
        daysOfWeek?: number[] | undefined;
        dayOfMonth?: number | undefined;
        monthOfYear?: number | undefined;
    } | undefined;
    reminders?: {
        type: "push" | "sms" | "email" | "phone";
        minutesBefore: number;
        message?: string | undefined;
    }[] | undefined;
    isRecurring?: boolean | undefined;
}, {
    type: AppointmentType;
    patientId: string;
    startTime: Date;
    endTime: Date;
    providerId: string;
    reason: string;
    tags?: string[] | undefined;
    notes?: string | undefined;
    symptoms?: string[] | undefined;
    recurringPattern?: {
        frequency: "daily" | "weekly" | "monthly" | "yearly";
        interval: number;
        endDate?: Date | undefined;
        maxOccurrences?: number | undefined;
        daysOfWeek?: number[] | undefined;
        dayOfMonth?: number | undefined;
        monthOfYear?: number | undefined;
    } | undefined;
    reminders?: {
        type: "push" | "sms" | "email" | "phone";
        minutesBefore: number;
        message?: string | undefined;
    }[] | undefined;
    isRecurring?: boolean | undefined;
}>;
export declare const UpdateAppointmentRequestSchema: z.ZodObject<{
    startTime: z.ZodOptional<z.ZodDate>;
    endTime: z.ZodOptional<z.ZodDate>;
    type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
    status: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentStatus>>;
    reason: z.ZodOptional<z.ZodString>;
    notes: z.ZodOptional<z.ZodString>;
    symptoms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    diagnosis: z.ZodOptional<z.ZodArray<z.ZodObject<{
        condition: z.ZodString;
        icd10Code: z.ZodOptional<z.ZodString>;
        severity: z.ZodEnum<["mild", "moderate", "severe"]>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }, {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }>, "many">>;
    prescriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        medication: z.ZodString;
        dosage: z.ZodString;
        frequency: z.ZodString;
        duration: z.ZodString;
        instructions: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        instructions?: string | undefined;
    }, {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        instructions?: string | undefined;
    }>, "many">>;
    procedures: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        cptCode: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        notes?: string | undefined;
        description?: string | undefined;
        cptCode?: string | undefined;
    }, {
        name: string;
        notes?: string | undefined;
        description?: string | undefined;
        cptCode?: string | undefined;
    }>, "many">>;
    labOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
        testName: z.ZodString;
        loincCode: z.ZodOptional<z.ZodString>;
        labName: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        testName: string;
        labName: string;
        loincCode?: string | undefined;
    }, {
        testName: string;
        labName: string;
        loincCode?: string | undefined;
    }>, "many">>;
    imagingOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
        studyName: z.ZodString;
        modality: z.ZodEnum<["x-ray", "ct", "mri", "ultrasound", "mammography", "other"]>;
        bodyPart: z.ZodString;
        facility: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        facility: string;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
    }, {
        facility: string;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
    }>, "many">>;
    referrals: z.ZodOptional<z.ZodArray<z.ZodObject<{
        specialist: z.ZodString;
        specialty: z.ZodString;
        reason: z.ZodString;
        urgency: z.ZodEnum<["routine", "urgent", "emergency"]>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        notes?: string | undefined;
    }, {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        notes?: string | undefined;
    }>, "many">>;
    followUp: z.ZodOptional<z.ZodObject<{
        isRequired: z.ZodBoolean;
        recommendedDate: z.ZodOptional<z.ZodDate>;
        type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
        reason: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        isRequired: boolean;
        type?: AppointmentType | undefined;
        notes?: string | undefined;
        reason?: string | undefined;
        recommendedDate?: Date | undefined;
    }, {
        isRequired: boolean;
        type?: AppointmentType | undefined;
        notes?: string | undefined;
        reason?: string | undefined;
        recommendedDate?: Date | undefined;
    }>>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    type?: AppointmentType | undefined;
    status?: AppointmentStatus | undefined;
    tags?: string[] | undefined;
    notes?: string | undefined;
    startTime?: Date | undefined;
    endTime?: Date | undefined;
    symptoms?: string[] | undefined;
    diagnosis?: {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }[] | undefined;
    prescriptions?: {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        instructions?: string | undefined;
    }[] | undefined;
    procedures?: {
        name: string;
        notes?: string | undefined;
        description?: string | undefined;
        cptCode?: string | undefined;
    }[] | undefined;
    reason?: string | undefined;
    labOrders?: {
        testName: string;
        labName: string;
        loincCode?: string | undefined;
    }[] | undefined;
    imagingOrders?: {
        facility: string;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
    }[] | undefined;
    referrals?: {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        notes?: string | undefined;
    }[] | undefined;
    followUp?: {
        isRequired: boolean;
        type?: AppointmentType | undefined;
        notes?: string | undefined;
        reason?: string | undefined;
        recommendedDate?: Date | undefined;
    } | undefined;
}, {
    type?: AppointmentType | undefined;
    status?: AppointmentStatus | undefined;
    tags?: string[] | undefined;
    notes?: string | undefined;
    startTime?: Date | undefined;
    endTime?: Date | undefined;
    symptoms?: string[] | undefined;
    diagnosis?: {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }[] | undefined;
    prescriptions?: {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        instructions?: string | undefined;
    }[] | undefined;
    procedures?: {
        name: string;
        notes?: string | undefined;
        description?: string | undefined;
        cptCode?: string | undefined;
    }[] | undefined;
    reason?: string | undefined;
    labOrders?: {
        testName: string;
        labName: string;
        loincCode?: string | undefined;
    }[] | undefined;
    imagingOrders?: {
        facility: string;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
    }[] | undefined;
    referrals?: {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        notes?: string | undefined;
    }[] | undefined;
    followUp?: {
        isRequired: boolean;
        type?: AppointmentType | undefined;
        notes?: string | undefined;
        reason?: string | undefined;
        recommendedDate?: Date | undefined;
    } | undefined;
}>;
export declare const CancelAppointmentRequestSchema: z.ZodObject<{
    reason: z.ZodString;
    sendNotification: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    reason: string;
    sendNotification?: boolean | undefined;
}, {
    reason: string;
    sendNotification?: boolean | undefined;
}>;
export declare const RescheduleAppointmentRequestSchema: z.ZodEffects<z.ZodObject<{
    newStartTime: z.ZodDate;
    newEndTime: z.ZodDate;
    reason: z.ZodOptional<z.ZodString>;
    sendNotification: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    newStartTime: Date;
    newEndTime: Date;
    reason?: string | undefined;
    sendNotification?: boolean | undefined;
}, {
    newStartTime: Date;
    newEndTime: Date;
    reason?: string | undefined;
    sendNotification?: boolean | undefined;
}>, {
    newStartTime: Date;
    newEndTime: Date;
    reason?: string | undefined;
    sendNotification?: boolean | undefined;
}, {
    newStartTime: Date;
    newEndTime: Date;
    reason?: string | undefined;
    sendNotification?: boolean | undefined;
}>;
export declare const AddDiagnosisRequestSchema: z.ZodObject<{
    condition: z.ZodString;
    icd10Code: z.ZodOptional<z.ZodString>;
    severity: z.ZodEnum<["mild", "moderate", "severe"]>;
    notes: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    severity: "moderate" | "mild" | "severe";
    condition: string;
    notes?: string | undefined;
    icd10Code?: string | undefined;
}, {
    severity: "moderate" | "mild" | "severe";
    condition: string;
    notes?: string | undefined;
    icd10Code?: string | undefined;
}>;
export declare const AddPrescriptionRequestSchema: z.ZodObject<{
    medication: z.ZodString;
    dosage: z.ZodString;
    frequency: z.ZodString;
    duration: z.ZodString;
    instructions: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    duration: string;
    medication: string;
    dosage: string;
    frequency: string;
    instructions?: string | undefined;
}, {
    duration: string;
    medication: string;
    dosage: string;
    frequency: string;
    instructions?: string | undefined;
}>;
export declare const AddProcedureRequestSchema: z.ZodObject<{
    name: z.ZodString;
    cptCode: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    notes: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    name: string;
    notes?: string | undefined;
    description?: string | undefined;
    cptCode?: string | undefined;
}, {
    name: string;
    notes?: string | undefined;
    description?: string | undefined;
    cptCode?: string | undefined;
}>;
export declare const AddLabOrderRequestSchema: z.ZodObject<{
    testName: z.ZodString;
    loincCode: z.ZodOptional<z.ZodString>;
    labName: z.ZodString;
}, "strip", z.ZodTypeAny, {
    testName: string;
    labName: string;
    loincCode?: string | undefined;
}, {
    testName: string;
    labName: string;
    loincCode?: string | undefined;
}>;
export declare const AddImagingOrderRequestSchema: z.ZodObject<{
    studyName: z.ZodString;
    modality: z.ZodEnum<["x-ray", "ct", "mri", "ultrasound", "mammography", "other"]>;
    bodyPart: z.ZodString;
    facility: z.ZodString;
}, "strip", z.ZodTypeAny, {
    facility: string;
    studyName: string;
    modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
    bodyPart: string;
}, {
    facility: string;
    studyName: string;
    modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
    bodyPart: string;
}>;
export declare const AddReferralRequestSchema: z.ZodObject<{
    specialist: z.ZodString;
    specialty: z.ZodString;
    reason: z.ZodString;
    urgency: z.ZodEnum<["routine", "urgent", "emergency"]>;
    notes: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    specialist: string;
    reason: string;
    specialty: string;
    urgency: "urgent" | "emergency" | "routine";
    notes?: string | undefined;
}, {
    specialist: string;
    reason: string;
    specialty: string;
    urgency: "urgent" | "emergency" | "routine";
    notes?: string | undefined;
}>;
export declare const ScheduleFollowUpRequestSchema: z.ZodObject<{
    recommendedDate: z.ZodDate;
    type: z.ZodNativeEnum<typeof AppointmentType>;
    reason: z.ZodString;
    notes: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: AppointmentType;
    reason: string;
    recommendedDate: Date;
    notes?: string | undefined;
}, {
    type: AppointmentType;
    reason: string;
    recommendedDate: Date;
    notes?: string | undefined;
}>;
export declare const AppointmentResponseSchema: z.ZodObject<{
    id: z.ZodBranded<z.ZodString, "AppointmentId">;
    patientId: z.ZodString;
    providerId: z.ZodString;
    startTime: z.ZodDate;
    endTime: z.ZodDate;
    type: z.ZodNativeEnum<typeof AppointmentType>;
    status: z.ZodNativeEnum<typeof AppointmentStatus>;
    reason: z.ZodString;
    notes: z.ZodOptional<z.ZodString>;
    symptoms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    diagnosis: z.ZodOptional<z.ZodArray<z.ZodObject<{
        condition: z.ZodString;
        icd10Code: z.ZodOptional<z.ZodString>;
        severity: z.ZodEnum<["mild", "moderate", "severe"]>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }, {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }>, "many">>;
    prescriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        medication: z.ZodString;
        dosage: z.ZodString;
        frequency: z.ZodString;
        duration: z.ZodString;
        instructions: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        instructions?: string | undefined;
    }, {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        instructions?: string | undefined;
    }>, "many">>;
    procedures: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        cptCode: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        performedAt: z.ZodOptional<z.ZodDate>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        description?: string | undefined;
        cptCode?: string | undefined;
        performedAt?: Date | undefined;
    }, {
        name: string;
        description?: string | undefined;
        cptCode?: string | undefined;
        performedAt?: Date | undefined;
    }>, "many">>;
    labOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
        testName: z.ZodString;
        loincCode: z.ZodOptional<z.ZodString>;
        labName: z.ZodString;
        status: z.ZodEnum<["ordered", "in-progress", "completed", "cancelled"]>;
    }, "strip", z.ZodTypeAny, {
        status: "cancelled" | "completed" | "ordered" | "in-progress";
        testName: string;
        labName: string;
        loincCode?: string | undefined;
    }, {
        status: "cancelled" | "completed" | "ordered" | "in-progress";
        testName: string;
        labName: string;
        loincCode?: string | undefined;
    }>, "many">>;
    imagingOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
        studyName: z.ZodString;
        modality: z.ZodEnum<["x-ray", "ct", "mri", "ultrasound", "mammography", "other"]>;
        bodyPart: z.ZodString;
        facility: z.ZodString;
        status: z.ZodEnum<["ordered", "in-progress", "completed", "cancelled"]>;
    }, "strip", z.ZodTypeAny, {
        status: "cancelled" | "completed" | "ordered" | "in-progress";
        facility: string;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
    }, {
        status: "cancelled" | "completed" | "ordered" | "in-progress";
        facility: string;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
    }>, "many">>;
    referrals: z.ZodOptional<z.ZodArray<z.ZodObject<{
        specialist: z.ZodString;
        specialty: z.ZodString;
        reason: z.ZodString;
        urgency: z.ZodEnum<["routine", "urgent", "emergency"]>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        notes?: string | undefined;
    }, {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        notes?: string | undefined;
    }>, "many">>;
    followUp: z.ZodOptional<z.ZodObject<{
        isRequired: z.ZodBoolean;
        recommendedDate: z.ZodOptional<z.ZodDate>;
        type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
        reason: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        isRequired: boolean;
        type?: AppointmentType | undefined;
        reason?: string | undefined;
        recommendedDate?: Date | undefined;
    }, {
        isRequired: boolean;
        type?: AppointmentType | undefined;
        reason?: string | undefined;
        recommendedDate?: Date | undefined;
    }>>;
    billing: z.ZodOptional<z.ZodObject<{
        totalAmount: z.ZodNumber;
        insuranceAmount: z.ZodNumber;
        patientAmount: z.ZodNumber;
        status: z.ZodEnum<["pending", "billed", "paid", "denied", "appealed"]>;
    }, "strip", z.ZodTypeAny, {
        status: "pending" | "billed" | "paid" | "denied" | "appealed";
        totalAmount: number;
        insuranceAmount: number;
        patientAmount: number;
    }, {
        status: "pending" | "billed" | "paid" | "denied" | "appealed";
        totalAmount: number;
        insuranceAmount: number;
        patientAmount: number;
    }>>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
    cancelledAt: z.ZodOptional<z.ZodDate>;
    cancellationReason: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: AppointmentType;
    id: string & z.BRAND<"AppointmentId">;
    createdAt: Date;
    updatedAt: Date;
    status: AppointmentStatus;
    patientId: string;
    startTime: Date;
    endTime: Date;
    providerId: string;
    reason: string;
    notes?: string | undefined;
    symptoms?: string[] | undefined;
    diagnosis?: {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }[] | undefined;
    prescriptions?: {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        instructions?: string | undefined;
    }[] | undefined;
    procedures?: {
        name: string;
        description?: string | undefined;
        cptCode?: string | undefined;
        performedAt?: Date | undefined;
    }[] | undefined;
    billing?: {
        status: "pending" | "billed" | "paid" | "denied" | "appealed";
        totalAmount: number;
        insuranceAmount: number;
        patientAmount: number;
    } | undefined;
    cancelledAt?: Date | undefined;
    labOrders?: {
        status: "cancelled" | "completed" | "ordered" | "in-progress";
        testName: string;
        labName: string;
        loincCode?: string | undefined;
    }[] | undefined;
    imagingOrders?: {
        status: "cancelled" | "completed" | "ordered" | "in-progress";
        facility: string;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
    }[] | undefined;
    referrals?: {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        notes?: string | undefined;
    }[] | undefined;
    followUp?: {
        isRequired: boolean;
        type?: AppointmentType | undefined;
        reason?: string | undefined;
        recommendedDate?: Date | undefined;
    } | undefined;
    cancellationReason?: string | undefined;
}, {
    type: AppointmentType;
    id: string;
    createdAt: Date;
    updatedAt: Date;
    status: AppointmentStatus;
    patientId: string;
    startTime: Date;
    endTime: Date;
    providerId: string;
    reason: string;
    notes?: string | undefined;
    symptoms?: string[] | undefined;
    diagnosis?: {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }[] | undefined;
    prescriptions?: {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        instructions?: string | undefined;
    }[] | undefined;
    procedures?: {
        name: string;
        description?: string | undefined;
        cptCode?: string | undefined;
        performedAt?: Date | undefined;
    }[] | undefined;
    billing?: {
        status: "pending" | "billed" | "paid" | "denied" | "appealed";
        totalAmount: number;
        insuranceAmount: number;
        patientAmount: number;
    } | undefined;
    cancelledAt?: Date | undefined;
    labOrders?: {
        status: "cancelled" | "completed" | "ordered" | "in-progress";
        testName: string;
        labName: string;
        loincCode?: string | undefined;
    }[] | undefined;
    imagingOrders?: {
        status: "cancelled" | "completed" | "ordered" | "in-progress";
        facility: string;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
    }[] | undefined;
    referrals?: {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        notes?: string | undefined;
    }[] | undefined;
    followUp?: {
        isRequired: boolean;
        type?: AppointmentType | undefined;
        reason?: string | undefined;
        recommendedDate?: Date | undefined;
    } | undefined;
    cancellationReason?: string | undefined;
}>;
export declare const AppointmentListResponseSchema: z.ZodObject<{
    appointments: z.ZodArray<z.ZodObject<{
        id: z.ZodBranded<z.ZodString, "AppointmentId">;
        patientId: z.ZodString;
        providerId: z.ZodString;
        startTime: z.ZodDate;
        endTime: z.ZodDate;
        type: z.ZodNativeEnum<typeof AppointmentType>;
        status: z.ZodNativeEnum<typeof AppointmentStatus>;
        reason: z.ZodString;
        notes: z.ZodOptional<z.ZodString>;
        symptoms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        diagnosis: z.ZodOptional<z.ZodArray<z.ZodObject<{
            condition: z.ZodString;
            icd10Code: z.ZodOptional<z.ZodString>;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }, {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }>, "many">>;
        prescriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            medication: z.ZodString;
            dosage: z.ZodString;
            frequency: z.ZodString;
            duration: z.ZodString;
            instructions: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }, {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }>, "many">>;
        procedures: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            cptCode: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            performedAt: z.ZodOptional<z.ZodDate>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }, {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }>, "many">>;
        labOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            testName: z.ZodString;
            loincCode: z.ZodOptional<z.ZodString>;
            labName: z.ZodString;
            status: z.ZodEnum<["ordered", "in-progress", "completed", "cancelled"]>;
        }, "strip", z.ZodTypeAny, {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }, {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }>, "many">>;
        imagingOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            studyName: z.ZodString;
            modality: z.ZodEnum<["x-ray", "ct", "mri", "ultrasound", "mammography", "other"]>;
            bodyPart: z.ZodString;
            facility: z.ZodString;
            status: z.ZodEnum<["ordered", "in-progress", "completed", "cancelled"]>;
        }, "strip", z.ZodTypeAny, {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }, {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }>, "many">>;
        referrals: z.ZodOptional<z.ZodArray<z.ZodObject<{
            specialist: z.ZodString;
            specialty: z.ZodString;
            reason: z.ZodString;
            urgency: z.ZodEnum<["routine", "urgent", "emergency"]>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }, {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }>, "many">>;
        followUp: z.ZodOptional<z.ZodObject<{
            isRequired: z.ZodBoolean;
            recommendedDate: z.ZodOptional<z.ZodDate>;
            type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
            reason: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        }, {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        }>>;
        billing: z.ZodOptional<z.ZodObject<{
            totalAmount: z.ZodNumber;
            insuranceAmount: z.ZodNumber;
            patientAmount: z.ZodNumber;
            status: z.ZodEnum<["pending", "billed", "paid", "denied", "appealed"]>;
        }, "strip", z.ZodTypeAny, {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        }, {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        }>>;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
        cancelledAt: z.ZodOptional<z.ZodDate>;
        cancellationReason: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: AppointmentType;
        id: string & z.BRAND<"AppointmentId">;
        createdAt: Date;
        updatedAt: Date;
        status: AppointmentStatus;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }[] | undefined;
        billing?: {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        } | undefined;
        cancelledAt?: Date | undefined;
        labOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }[] | undefined;
        imagingOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
        cancellationReason?: string | undefined;
    }, {
        type: AppointmentType;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: AppointmentStatus;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }[] | undefined;
        billing?: {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        } | undefined;
        cancelledAt?: Date | undefined;
        labOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }[] | undefined;
        imagingOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
        cancellationReason?: string | 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;
    };
    appointments: {
        type: AppointmentType;
        id: string & z.BRAND<"AppointmentId">;
        createdAt: Date;
        updatedAt: Date;
        status: AppointmentStatus;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }[] | undefined;
        billing?: {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        } | undefined;
        cancelledAt?: Date | undefined;
        labOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }[] | undefined;
        imagingOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
        cancellationReason?: string | undefined;
    }[];
}, {
    pagination: {
        page: number;
        limit: number;
        total: number;
        totalPages: number;
    };
    appointments: {
        type: AppointmentType;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: AppointmentStatus;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }[] | undefined;
        billing?: {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        } | undefined;
        cancelledAt?: Date | undefined;
        labOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }[] | undefined;
        imagingOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
        cancellationReason?: string | undefined;
    }[];
}>;
export declare const AppointmentSlotResponseSchema: z.ZodObject<{
    id: z.ZodString;
    startTime: z.ZodDate;
    endTime: z.ZodDate;
    isAvailable: z.ZodBoolean;
    isBooked: z.ZodBoolean;
    isBlocked: z.ZodBoolean;
    blockReason: z.ZodOptional<z.ZodString>;
    appointmentId: z.ZodOptional<z.ZodBranded<z.ZodString, "AppointmentId">>;
}, "strip", z.ZodTypeAny, {
    id: string;
    startTime: Date;
    endTime: Date;
    isAvailable: boolean;
    isBooked: boolean;
    isBlocked: boolean;
    appointmentId?: (string & z.BRAND<"AppointmentId">) | undefined;
    blockReason?: string | undefined;
}, {
    id: string;
    startTime: Date;
    endTime: Date;
    isAvailable: boolean;
    isBooked: boolean;
    isBlocked: boolean;
    appointmentId?: string | undefined;
    blockReason?: string | undefined;
}>;
export declare const AppointmentSlotListResponseSchema: z.ZodObject<{
    slots: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        startTime: z.ZodDate;
        endTime: z.ZodDate;
        isAvailable: z.ZodBoolean;
        isBooked: z.ZodBoolean;
        isBlocked: z.ZodBoolean;
        blockReason: z.ZodOptional<z.ZodString>;
        appointmentId: z.ZodOptional<z.ZodBranded<z.ZodString, "AppointmentId">>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        startTime: Date;
        endTime: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        appointmentId?: (string & z.BRAND<"AppointmentId">) | undefined;
        blockReason?: string | undefined;
    }, {
        id: string;
        startTime: Date;
        endTime: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        appointmentId?: string | undefined;
        blockReason?: string | 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;
    };
    slots: {
        id: string;
        startTime: Date;
        endTime: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        appointmentId?: (string & z.BRAND<"AppointmentId">) | undefined;
        blockReason?: string | undefined;
    }[];
}, {
    pagination: {
        page: number;
        limit: number;
        total: number;
        totalPages: number;
    };
    slots: {
        id: string;
        startTime: Date;
        endTime: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        appointmentId?: string | undefined;
        blockReason?: string | undefined;
    }[];
}>;
export declare const AppointmentDetailResponseSchema: z.ZodObject<{
    appointment: z.ZodObject<{
        id: z.ZodBranded<z.ZodString, "AppointmentId">;
        patientId: z.ZodString;
        providerId: z.ZodString;
        startTime: z.ZodDate;
        endTime: z.ZodDate;
        type: z.ZodNativeEnum<typeof AppointmentType>;
        status: z.ZodNativeEnum<typeof AppointmentStatus>;
        reason: z.ZodString;
        notes: z.ZodOptional<z.ZodString>;
        symptoms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        diagnosis: z.ZodOptional<z.ZodArray<z.ZodObject<{
            condition: z.ZodString;
            icd10Code: z.ZodOptional<z.ZodString>;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }, {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }>, "many">>;
        prescriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            medication: z.ZodString;
            dosage: z.ZodString;
            frequency: z.ZodString;
            duration: z.ZodString;
            instructions: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }, {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }>, "many">>;
        procedures: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            cptCode: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            performedAt: z.ZodOptional<z.ZodDate>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }, {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }>, "many">>;
        labOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            testName: z.ZodString;
            loincCode: z.ZodOptional<z.ZodString>;
            labName: z.ZodString;
            status: z.ZodEnum<["ordered", "in-progress", "completed", "cancelled"]>;
        }, "strip", z.ZodTypeAny, {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }, {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }>, "many">>;
        imagingOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            studyName: z.ZodString;
            modality: z.ZodEnum<["x-ray", "ct", "mri", "ultrasound", "mammography", "other"]>;
            bodyPart: z.ZodString;
            facility: z.ZodString;
            status: z.ZodEnum<["ordered", "in-progress", "completed", "cancelled"]>;
        }, "strip", z.ZodTypeAny, {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }, {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }>, "many">>;
        referrals: z.ZodOptional<z.ZodArray<z.ZodObject<{
            specialist: z.ZodString;
            specialty: z.ZodString;
            reason: z.ZodString;
            urgency: z.ZodEnum<["routine", "urgent", "emergency"]>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }, {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }>, "many">>;
        followUp: z.ZodOptional<z.ZodObject<{
            isRequired: z.ZodBoolean;
            recommendedDate: z.ZodOptional<z.ZodDate>;
            type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
            reason: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        }, {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        }>>;
        billing: z.ZodOptional<z.ZodObject<{
            totalAmount: z.ZodNumber;
            insuranceAmount: z.ZodNumber;
            patientAmount: z.ZodNumber;
            status: z.ZodEnum<["pending", "billed", "paid", "denied", "appealed"]>;
        }, "strip", z.ZodTypeAny, {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        }, {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        }>>;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
        cancelledAt: z.ZodOptional<z.ZodDate>;
        cancellationReason: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: AppointmentType;
        id: string & z.BRAND<"AppointmentId">;
        createdAt: Date;
        updatedAt: Date;
        status: AppointmentStatus;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }[] | undefined;
        billing?: {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        } | undefined;
        cancelledAt?: Date | undefined;
        labOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }[] | undefined;
        imagingOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
        cancellationReason?: string | undefined;
    }, {
        type: AppointmentType;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: AppointmentStatus;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }[] | undefined;
        billing?: {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        } | undefined;
        cancelledAt?: Date | undefined;
        labOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }[] | undefined;
        imagingOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
        cancellationReason?: string | undefined;
    }>;
    patient: z.ZodObject<{
        id: z.ZodString;
        firstName: z.ZodString;
        lastName: z.ZodString;
        dateOfBirth: z.ZodDate;
        phoneNumber: z.ZodOptional<z.ZodString>;
        email: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        email?: string | undefined;
        phoneNumber?: string | undefined;
    }, {
        id: string;
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        email?: string | undefined;
        phoneNumber?: string | undefined;
    }>;
    provider: z.ZodObject<{
        id: z.ZodString;
        firstName: z.ZodString;
        lastName: z.ZodString;
        specialty: z.ZodOptional<z.ZodString>;
        phoneNumber: z.ZodOptional<z.ZodString>;
        email: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        firstName: string;
        lastName: string;
        email?: string | undefined;
        phoneNumber?: string | undefined;
        specialty?: string | undefined;
    }, {
        id: string;
        firstName: string;
        lastName: string;
        email?: string | undefined;
        phoneNumber?: string | undefined;
        specialty?: string | undefined;
    }>;
    reminders: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodEnum<["email", "sms", "phone", "push"]>;
        scheduledAt: z.ZodDate;
        sentAt: z.ZodOptional<z.ZodDate>;
        status: z.ZodEnum<["scheduled", "sent", "failed", "cancelled"]>;
    }, "strip", z.ZodTypeAny, {
        type: "push" | "sms" | "email" | "phone";
        status: "cancelled" | "scheduled" | "sent" | "failed";
        scheduledAt: Date;
        sentAt?: Date | undefined;
    }, {
        type: "push" | "sms" | "email" | "phone";
        status: "cancelled" | "scheduled" | "sent" | "failed";
        scheduledAt: Date;
        sentAt?: Date | undefined;
    }>, "many">>;
    attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        type: z.ZodEnum<["document", "image", "video", "audio"]>;
        url: z.ZodString;
        size: z.ZodNumber;
        uploadedAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        type: "document" | "image" | "video" | "audio";
        id: string;
        name: string;
        url: string;
        size: number;
        uploadedAt: Date;
    }, {
        type: "document" | "image" | "video" | "audio";
        id: string;
        name: string;
        url: string;
        size: number;
        uploadedAt: Date;
    }>, "many">>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    patient: {
        id: string;
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        email?: string | undefined;
        phoneNumber?: string | undefined;
    };
    provider: {
        id: string;
        firstName: string;
        lastName: string;
        email?: string | undefined;
        phoneNumber?: string | undefined;
        specialty?: string | undefined;
    };
    appointment: {
        type: AppointmentType;
        id: string & z.BRAND<"AppointmentId">;
        createdAt: Date;
        updatedAt: Date;
        status: AppointmentStatus;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }[] | undefined;
        billing?: {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        } | undefined;
        cancelledAt?: Date | undefined;
        labOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }[] | undefined;
        imagingOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
        cancellationReason?: string | undefined;
    };
    tags?: string[] | undefined;
    attachments?: {
        type: "document" | "image" | "video" | "audio";
        id: string;
        name: string;
        url: string;
        size: number;
        uploadedAt: Date;
    }[] | undefined;
    reminders?: {
        type: "push" | "sms" | "email" | "phone";
        status: "cancelled" | "scheduled" | "sent" | "failed";
        scheduledAt: Date;
        sentAt?: Date | undefined;
    }[] | undefined;
}, {
    patient: {
        id: string;
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        email?: string | undefined;
        phoneNumber?: string | undefined;
    };
    provider: {
        id: string;
        firstName: string;
        lastName: string;
        email?: string | undefined;
        phoneNumber?: string | undefined;
        specialty?: string | undefined;
    };
    appointment: {
        type: AppointmentType;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: AppointmentStatus;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }[] | undefined;
        billing?: {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        } | undefined;
        cancelledAt?: Date | undefined;
        labOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }[] | undefined;
        imagingOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
        cancellationReason?: string | undefined;
    };
    tags?: string[] | undefined;
    attachments?: {
        type: "document" | "image" | "video" | "audio";
        id: string;
        name: string;
        url: string;
        size: number;
        uploadedAt: Date;
    }[] | undefined;
    reminders?: {
        type: "push" | "sms" | "email" | "phone";
        status: "cancelled" | "scheduled" | "sent" | "failed";
        scheduledAt: Date;
        sentAt?: Date | undefined;
    }[] | undefined;
}>;
export declare const AppointmentSearchFiltersSchema: z.ZodObject<{
    query: z.ZodOptional<z.ZodString>;
    patientId: z.ZodOptional<z.ZodString>;
    providerId: z.ZodOptional<z.ZodString>;
    type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
    status: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentStatus>>;
    startDate: z.ZodOptional<z.ZodDate>;
    endDate: z.ZodOptional<z.ZodDate>;
    hasDiagnosis: z.ZodOptional<z.ZodBoolean>;
    hasPrescriptions: z.ZodOptional<z.ZodBoolean>;
    hasProcedures: z.ZodOptional<z.ZodBoolean>;
    hasLabOrders: z.ZodOptional<z.ZodBoolean>;
    hasImagingOrders: z.ZodOptional<z.ZodBoolean>;
    hasReferrals: z.ZodOptional<z.ZodBoolean>;
    hasFollowUp: z.ZodOptional<z.ZodBoolean>;
    isCancelled: 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, {
    type?: AppointmentType | undefined;
    status?: AppointmentStatus | undefined;
    tags?: string[] | undefined;
    patientId?: string | undefined;
    providerId?: string | undefined;
    startDate?: Date | undefined;
    endDate?: Date | undefined;
    query?: string | undefined;
    createdAfter?: Date | undefined;
    createdBefore?: Date | undefined;
    hasDiagnosis?: boolean | undefined;
    hasPrescriptions?: boolean | undefined;
    hasProcedures?: boolean | undefined;
    hasLabOrders?: boolean | undefined;
    hasImagingOrders?: boolean | undefined;
    hasReferrals?: boolean | undefined;
    hasFollowUp?: boolean | undefined;
    isCancelled?: boolean | undefined;
}, {
    type?: AppointmentType | undefined;
    status?: AppointmentStatus | undefined;
    tags?: string[] | undefined;
    patientId?: string | undefined;
    providerId?: string | undefined;
    startDate?: Date | undefined;
    endDate?: Date | undefined;
    query?: string | undefined;
    createdAfter?: Date | undefined;
    createdBefore?: Date | undefined;
    hasDiagnosis?: boolean | undefined;
    hasPrescriptions?: boolean | undefined;
    hasProcedures?: boolean | undefined;
    hasLabOrders?: boolean | undefined;
    hasImagingOrders?: boolean | undefined;
    hasReferrals?: boolean | undefined;
    hasFollowUp?: boolean | undefined;
    isCancelled?: boolean | undefined;
}>;
export declare const AppointmentSlotSearchFiltersSchema: z.ZodObject<{
    providerId: z.ZodString;
    startDate: z.ZodDate;
    endDate: z.ZodDate;
    type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
    duration: z.ZodOptional<z.ZodNumber>;
    isAvailable: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    providerId: string;
    startDate: Date;
    endDate: Date;
    type?: AppointmentType | undefined;
    duration?: number | undefined;
    isAvailable?: boolean | undefined;
}, {
    providerId: string;
    startDate: Date;
    endDate: Date;
    type?: AppointmentType | undefined;
    duration?: number | undefined;
    isAvailable?: boolean | undefined;
}>;
export declare const AppointmentSortOptionsSchema: z.ZodEnum<["startTime", "endTime", "createdAt", "updatedAt", "status", "type", "patientName", "providerName"]>;
export declare const AppointmentValidationUtils: {
    isValidTimeSlot: (startTime: Date, endTime: Date) => boolean;
    calculateDuration: (startTime: Date, endTime: Date) => {
        minutes: number;
        hours: number;
        days: number;
    };
    isBusinessHours: (date: Date) => boolean;
    isAvailableTimeSlot: (startTime: Date, endTime: Date, existingAppointments: any[]) => boolean;
    validateAppointmentData: (data: any) => {
        isValid: boolean;
        errors: string[];
    };
};
export type CreateAppointmentRequest = z.infer<typeof CreateAppointmentRequestSchema>;
export type UpdateAppointmentRequest = z.infer<typeof UpdateAppointmentRequestSchema>;
export type CancelAppointmentRequest = z.infer<typeof CancelAppointmentRequestSchema>;
export type RescheduleAppointmentRequest = z.infer<typeof RescheduleAppointmentRequestSchema>;
export type AddDiagnosisRequest = z.infer<typeof AddDiagnosisRequestSchema>;
export type AddPrescriptionRequest = z.infer<typeof AddPrescriptionRequestSchema>;
export type AddProcedureRequest = z.infer<typeof AddProcedureRequestSchema>;
export type AddLabOrderRequest = z.infer<typeof AddLabOrderRequestSchema>;
export type AddImagingOrderRequest = z.infer<typeof AddImagingOrderRequestSchema>;
export type AddReferralRequest = z.infer<typeof AddReferralRequestSchema>;
export type ScheduleFollowUpRequest = z.infer<typeof ScheduleFollowUpRequestSchema>;
export type AppointmentResponse = z.infer<typeof AppointmentResponseSchema>;
export type AppointmentListResponse = z.infer<typeof AppointmentListResponseSchema>;
export type AppointmentSlotResponse = z.infer<typeof AppointmentSlotResponseSchema>;
export type AppointmentSlotListResponse = z.infer<typeof AppointmentSlotListResponseSchema>;
export type AppointmentDetailResponse = z.infer<typeof AppointmentDetailResponseSchema>;
export type AppointmentSearchFilters = z.infer<typeof AppointmentSearchFiltersSchema>;
export type AppointmentSlotSearchFilters = z.infer<typeof AppointmentSlotSearchFiltersSchema>;
export type AppointmentSortOptions = z.infer<typeof AppointmentSortOptionsSchema>;
export declare const AppointmentSchemas: {
    readonly AppointmentId: z.ZodBranded<z.ZodString, "AppointmentId">;
    readonly TimeSlot: z.ZodEffects<z.ZodObject<{
        startTime: z.ZodDate;
        endTime: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        startTime: Date;
        endTime: Date;
    }, {
        startTime: Date;
        endTime: Date;
    }>, {
        startTime: Date;
        endTime: Date;
    }, {
        startTime: Date;
        endTime: Date;
    }>;
    readonly Duration: z.ZodEffects<z.ZodObject<{
        minutes: z.ZodNumber;
        hours: z.ZodNumber;
        days: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        minutes: number;
        hours: number;
        days: number;
    }, {
        minutes: number;
        hours: number;
        days: number;
    }>, {
        minutes: number;
        hours: number;
        days: number;
    }, {
        minutes: number;
        hours: number;
        days: number;
    }>;
    readonly AppointmentStatus: z.ZodNativeEnum<typeof AppointmentStatus>;
    readonly AppointmentType: z.ZodNativeEnum<typeof AppointmentType>;
    readonly AppointmentIdValueObject: z.ZodObject<{
        value: z.ZodBranded<z.ZodString, "AppointmentId">;
        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<"AppointmentId">;
        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 TimeSlotValueObject: z.ZodObject<{
        value: z.ZodEffects<z.ZodObject<{
            startTime: z.ZodDate;
            endTime: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            startTime: Date;
            endTime: Date;
        }, {
            startTime: Date;
            endTime: Date;
        }>, {
            startTime: Date;
            endTime: Date;
        }, {
            startTime: Date;
            endTime: Date;
        }>;
        isAvailable: z.ZodBoolean;
        isBooked: z.ZodBoolean;
        isBlocked: z.ZodBoolean;
        blockReason: z.ZodOptional<z.ZodString>;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        value: {
            startTime: Date;
            endTime: Date;
        };
        createdAt: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        blockReason?: string | undefined;
    }, {
        value: {
            startTime: Date;
            endTime: Date;
        };
        createdAt: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        blockReason?: string | undefined;
    }>;
    readonly DurationValueObject: z.ZodObject<{
        value: z.ZodEffects<z.ZodObject<{
            minutes: z.ZodNumber;
            hours: z.ZodNumber;
            days: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            minutes: number;
            hours: number;
            days: number;
        }, {
            minutes: number;
            hours: number;
            days: number;
        }>, {
            minutes: number;
            hours: number;
            days: number;
        }, {
            minutes: number;
            hours: number;
            days: number;
        }>;
        isStandard: z.ZodBoolean;
        isCustom: z.ZodBoolean;
        createdAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        value: {
            minutes: number;
            hours: number;
            days: number;
        };
        createdAt: Date;
        isStandard: boolean;
        isCustom: boolean;
    }, {
        value: {
            minutes: number;
            hours: number;
            days: number;
        };
        createdAt: Date;
        isStandard: boolean;
        isCustom: boolean;
    }>;
    readonly Appointment: z.ZodObject<{
        id: z.ZodBranded<z.ZodString, "AppointmentId">;
        patientId: z.ZodString;
        providerId: z.ZodString;
        timeSlot: z.ZodObject<{
            value: z.ZodEffects<z.ZodObject<{
                startTime: z.ZodDate;
                endTime: z.ZodDate;
            }, "strip", z.ZodTypeAny, {
                startTime: Date;
                endTime: Date;
            }, {
                startTime: Date;
                endTime: Date;
            }>, {
                startTime: Date;
                endTime: Date;
            }, {
                startTime: Date;
                endTime: Date;
            }>;
            isAvailable: z.ZodBoolean;
            isBooked: z.ZodBoolean;
            isBlocked: z.ZodBoolean;
            blockReason: z.ZodOptional<z.ZodString>;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            value: {
                startTime: Date;
                endTime: Date;
            };
            createdAt: Date;
            isAvailable: boolean;
            isBooked: boolean;
            isBlocked: boolean;
            blockReason?: string | undefined;
        }, {
            value: {
                startTime: Date;
                endTime: Date;
            };
            createdAt: Date;
            isAvailable: boolean;
            isBooked: boolean;
            isBlocked: boolean;
            blockReason?: string | undefined;
        }>;
        duration: z.ZodObject<{
            value: z.ZodEffects<z.ZodObject<{
                minutes: z.ZodNumber;
                hours: z.ZodNumber;
                days: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                minutes: number;
                hours: number;
                days: number;
            }, {
                minutes: number;
                hours: number;
                days: number;
            }>, {
                minutes: number;
                hours: number;
                days: number;
            }, {
                minutes: number;
                hours: number;
                days: number;
            }>;
            isStandard: z.ZodBoolean;
            isCustom: z.ZodBoolean;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            value: {
                minutes: number;
                hours: number;
                days: number;
            };
            createdAt: Date;
            isStandard: boolean;
            isCustom: boolean;
        }, {
            value: {
                minutes: number;
                hours: number;
                days: number;
            };
            createdAt: Date;
            isStandard: boolean;
            isCustom: boolean;
        }>;
        type: z.ZodNativeEnum<typeof AppointmentType>;
        status: z.ZodNativeEnum<typeof AppointmentStatus>;
        reason: z.ZodString;
        notes: z.ZodOptional<z.ZodString>;
        symptoms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        diagnosis: z.ZodOptional<z.ZodArray<z.ZodObject<{
            condition: z.ZodString;
            icd10Code: z.ZodOptional<z.ZodString>;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }, {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }>, "many">>;
        prescriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            medication: z.ZodString;
            dosage: z.ZodString;
            frequency: z.ZodString;
            duration: z.ZodString;
            instructions: z.ZodOptional<z.ZodString>;
            prescribedBy: z.ZodString;
            prescribedAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            prescribedBy: string;
            prescribedAt: Date;
            instructions?: string | undefined;
        }, {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            prescribedBy: string;
            prescribedAt: Date;
            instructions?: string | undefined;
        }>, "many">>;
        procedures: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            cptCode: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            performedBy: z.ZodString;
            performedAt: z.ZodOptional<z.ZodDate>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            performedBy: string;
            notes?: string | undefined;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }, {
            name: string;
            performedBy: string;
            notes?: string | undefined;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }>, "many">>;
        labOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            testName: z.ZodString;
            loincCode: z.ZodOptional<z.ZodString>;
            labName: z.ZodString;
            orderedBy: z.ZodString;
            orderedAt: z.ZodDate;
            results: z.ZodOptional<z.ZodArray<z.ZodObject<{
                testName: z.ZodString;
                value: z.ZodString;
                unit: z.ZodOptional<z.ZodString>;
                referenceRange: z.ZodOptional<z.ZodString>;
                isAbnormal: z.ZodBoolean;
                notes: z.ZodOptional<z.ZodString>;
                reportedAt: z.ZodDate;
            }, "strip", z.ZodTypeAny, {
                value: string;
                testName: string;
                isAbnormal: boolean;
                reportedAt: Date;
                notes?: string | undefined;
                unit?: string | undefined;
                referenceRange?: string | undefined;
            }, {
                value: string;
                testName: string;
                isAbnormal: boolean;
                reportedAt: Date;
                notes?: string | undefined;
                unit?: string | undefined;
                referenceRange?: string | undefined;
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            testName: string;
            labName: string;
            orderedBy: string;
            orderedAt: Date;
            loincCode?: string | undefined;
            results?: {
                value: string;
                testName: string;
                isAbnormal: boolean;
                reportedAt: Date;
                notes?: string | undefined;
                unit?: string | undefined;
                referenceRange?: string | undefined;
            }[] | undefined;
        }, {
            testName: string;
            labName: string;
            orderedBy: string;
            orderedAt: Date;
            loincCode?: string | undefined;
            results?: {
                value: string;
                testName: string;
                isAbnormal: boolean;
                reportedAt: Date;
                notes?: string | undefined;
                unit?: string | undefined;
                referenceRange?: string | undefined;
            }[] | undefined;
        }>, "many">>;
        imagingOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            studyName: z.ZodString;
            modality: z.ZodEnum<["x-ray", "ct", "mri", "ultrasound", "mammography", "other"]>;
            bodyPart: z.ZodString;
            facility: z.ZodString;
            orderedBy: z.ZodString;
            orderedAt: z.ZodDate;
            results: z.ZodOptional<z.ZodObject<{
                report: z.ZodString;
                images: z.ZodArray<z.ZodString, "many">;
                radiologist: z.ZodOptional<z.ZodString>;
                reportedAt: z.ZodDate;
            }, "strip", z.ZodTypeAny, {
                report: string;
                reportedAt: Date;
                images: string[];
                radiologist?: string | undefined;
            }, {
                report: string;
                reportedAt: Date;
                images: string[];
                radiologist?: string | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            facility: string;
            orderedBy: string;
            orderedAt: Date;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
            results?: {
                report: string;
                reportedAt: Date;
                images: string[];
                radiologist?: string | undefined;
            } | undefined;
        }, {
            facility: string;
            orderedBy: string;
            orderedAt: Date;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
            results?: {
                report: string;
                reportedAt: Date;
                images: string[];
                radiologist?: string | undefined;
            } | undefined;
        }>, "many">>;
        referrals: z.ZodOptional<z.ZodArray<z.ZodObject<{
            specialist: z.ZodString;
            specialty: z.ZodString;
            reason: z.ZodString;
            urgency: z.ZodEnum<["routine", "urgent", "emergency"]>;
            referredBy: z.ZodString;
            referredAt: z.ZodDate;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            referredBy: string;
            referredAt: Date;
            notes?: string | undefined;
        }, {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            referredBy: string;
            referredAt: Date;
            notes?: string | undefined;
        }>, "many">>;
        followUp: z.ZodOptional<z.ZodObject<{
            isRequired: z.ZodBoolean;
            recommendedDate: z.ZodOptional<z.ZodDate>;
            type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
            reason: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            notes?: string | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        }, {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            notes?: string | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        }>>;
        billing: z.ZodOptional<z.ZodObject<{
            totalAmount: z.ZodNumber;
            insuranceAmount: z.ZodNumber;
            patientAmount: z.ZodNumber;
            copay: z.ZodNumber;
            deductible: z.ZodNumber;
            status: z.ZodEnum<["pending", "billed", "paid", "denied", "appealed"]>;
            invoiceNumber: z.ZodOptional<z.ZodString>;
            billedAt: z.ZodOptional<z.ZodDate>;
            paidAt: z.ZodOptional<z.ZodDate>;
        }, "strip", z.ZodTypeAny, {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            copay: number;
            deductible: number;
            insuranceAmount: number;
            patientAmount: number;
            paidAt?: Date | undefined;
            invoiceNumber?: string | undefined;
            billedAt?: Date | undefined;
        }, {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            copay: number;
            deductible: number;
            insuranceAmount: number;
            patientAmount: number;
            paidAt?: Date | undefined;
            invoiceNumber?: string | undefined;
            billedAt?: Date | undefined;
        }>>;
        reminders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEnum<["email", "sms", "phone", "push"]>;
            scheduledAt: z.ZodDate;
            sentAt: z.ZodOptional<z.ZodDate>;
            status: z.ZodEnum<["scheduled", "sent", "failed", "cancelled"]>;
            message: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "push" | "sms" | "email" | "phone";
            status: "cancelled" | "scheduled" | "sent" | "failed";
            scheduledAt: Date;
            message?: string | undefined;
            sentAt?: Date | undefined;
        }, {
            type: "push" | "sms" | "email" | "phone";
            status: "cancelled" | "scheduled" | "sent" | "failed";
            scheduledAt: Date;
            message?: string | undefined;
            sentAt?: Date | undefined;
        }>, "many">>;
        attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            type: z.ZodEnum<["document", "image", "video", "audio"]>;
            url: z.ZodString;
            size: z.ZodNumber;
            mimeType: z.ZodString;
            uploadedBy: z.ZodString;
            uploadedAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            type: "document" | "image" | "video" | "audio";
            id: string;
            name: string;
            url: string;
            size: number;
            mimeType: string;
            uploadedAt: Date;
            uploadedBy: string;
        }, {
            type: "document" | "image" | "video" | "audio";
            id: string;
            name: string;
            url: string;
            size: number;
            mimeType: string;
            uploadedAt: Date;
            uploadedBy: string;
        }>, "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>;
        cancelledAt: z.ZodOptional<z.ZodDate>;
        cancelledBy: z.ZodOptional<z.ZodString>;
        cancellationReason: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: AppointmentType;
        id: string & z.BRAND<"AppointmentId">;
        createdAt: Date;
        updatedAt: Date;
        status: AppointmentStatus;
        patientId: string;
        duration: {
            value: {
                minutes: number;
                hours: number;
                days: number;
            };
            createdAt: Date;
            isStandard: boolean;
            isCustom: boolean;
        };
        providerId: string;
        reason: string;
        timeSlot: {
            value: {
                startTime: Date;
                endTime: Date;
            };
            createdAt: Date;
            isAvailable: boolean;
            isBooked: boolean;
            isBlocked: boolean;
            blockReason?: string | undefined;
        };
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        tags?: string[] | undefined;
        notes?: string | undefined;
        attachments?: {
            type: "document" | "image" | "video" | "audio";
            id: string;
            name: string;
            url: string;
            size: number;
            mimeType: string;
            uploadedAt: Date;
            uploadedBy: string;
        }[] | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            prescribedBy: string;
            prescribedAt: Date;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            performedBy: string;
            notes?: string | undefined;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }[] | undefined;
        billing?: {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            copay: number;
            deductible: number;
            insuranceAmount: number;
            patientAmount: number;
            paidAt?: Date | undefined;
            invoiceNumber?: string | undefined;
            billedAt?: Date | undefined;
        } | undefined;
        cancelledAt?: Date | undefined;
        labOrders?: {
            testName: string;
            labName: string;
            orderedBy: string;
            orderedAt: Date;
            loincCode?: string | undefined;
            results?: {
                value: string;
                testName: string;
                isAbnormal: boolean;
                reportedAt: Date;
                notes?: string | undefined;
                unit?: string | undefined;
                referenceRange?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        imagingOrders?: {
            facility: string;
            orderedBy: string;
            orderedAt: Date;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
            results?: {
                report: string;
                reportedAt: Date;
                images: string[];
                radiologist?: string | undefined;
            } | undefined;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            referredBy: string;
            referredAt: Date;
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            notes?: string | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
        reminders?: {
            type: "push" | "sms" | "email" | "phone";
            status: "cancelled" | "scheduled" | "sent" | "failed";
            scheduledAt: Date;
            message?: string | undefined;
            sentAt?: Date | undefined;
        }[] | undefined;
        cancelledBy?: string | undefined;
        cancellationReason?: string | undefined;
    }, {
        type: AppointmentType;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: AppointmentStatus;
        patientId: string;
        duration: {
            value: {
                minutes: number;
                hours: number;
                days: number;
            };
            createdAt: Date;
            isStandard: boolean;
            isCustom: boolean;
        };
        providerId: string;
        reason: string;
        timeSlot: {
            value: {
                startTime: Date;
                endTime: Date;
            };
            createdAt: Date;
            isAvailable: boolean;
            isBooked: boolean;
            isBlocked: boolean;
            blockReason?: string | undefined;
        };
        createdBy?: string | undefined;
        updatedBy?: string | undefined;
        tags?: string[] | undefined;
        notes?: string | undefined;
        attachments?: {
            type: "document" | "image" | "video" | "audio";
            id: string;
            name: string;
            url: string;
            size: number;
            mimeType: string;
            uploadedAt: Date;
            uploadedBy: string;
        }[] | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            prescribedBy: string;
            prescribedAt: Date;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            performedBy: string;
            notes?: string | undefined;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }[] | undefined;
        billing?: {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            copay: number;
            deductible: number;
            insuranceAmount: number;
            patientAmount: number;
            paidAt?: Date | undefined;
            invoiceNumber?: string | undefined;
            billedAt?: Date | undefined;
        } | undefined;
        cancelledAt?: Date | undefined;
        labOrders?: {
            testName: string;
            labName: string;
            orderedBy: string;
            orderedAt: Date;
            loincCode?: string | undefined;
            results?: {
                value: string;
                testName: string;
                isAbnormal: boolean;
                reportedAt: Date;
                notes?: string | undefined;
                unit?: string | undefined;
                referenceRange?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        imagingOrders?: {
            facility: string;
            orderedBy: string;
            orderedAt: Date;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
            results?: {
                report: string;
                reportedAt: Date;
                images: string[];
                radiologist?: string | undefined;
            } | undefined;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            referredBy: string;
            referredAt: Date;
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            notes?: string | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
        reminders?: {
            type: "push" | "sms" | "email" | "phone";
            status: "cancelled" | "scheduled" | "sent" | "failed";
            scheduledAt: Date;
            message?: string | undefined;
            sentAt?: Date | undefined;
        }[] | undefined;
        cancelledBy?: string | undefined;
        cancellationReason?: string | undefined;
    }>;
    readonly AppointmentSlot: z.ZodObject<{
        id: z.ZodString;
        appointmentId: z.ZodOptional<z.ZodBranded<z.ZodString, "AppointmentId">>;
        timeSlot: z.ZodObject<{
            value: z.ZodEffects<z.ZodObject<{
                startTime: z.ZodDate;
                endTime: z.ZodDate;
            }, "strip", z.ZodTypeAny, {
                startTime: Date;
                endTime: Date;
            }, {
                startTime: Date;
                endTime: Date;
            }>, {
                startTime: Date;
                endTime: Date;
            }, {
                startTime: Date;
                endTime: Date;
            }>;
            isAvailable: z.ZodBoolean;
            isBooked: z.ZodBoolean;
            isBlocked: z.ZodBoolean;
            blockReason: z.ZodOptional<z.ZodString>;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            value: {
                startTime: Date;
                endTime: Date;
            };
            createdAt: Date;
            isAvailable: boolean;
            isBooked: boolean;
            isBlocked: boolean;
            blockReason?: string | undefined;
        }, {
            value: {
                startTime: Date;
                endTime: Date;
            };
            createdAt: Date;
            isAvailable: boolean;
            isBooked: boolean;
            isBlocked: boolean;
            blockReason?: string | undefined;
        }>;
        duration: z.ZodObject<{
            value: z.ZodEffects<z.ZodObject<{
                minutes: z.ZodNumber;
                hours: z.ZodNumber;
                days: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                minutes: number;
                hours: number;
                days: number;
            }, {
                minutes: number;
                hours: number;
                days: number;
            }>, {
                minutes: number;
                hours: number;
                days: number;
            }, {
                minutes: number;
                hours: number;
                days: number;
            }>;
            isStandard: z.ZodBoolean;
            isCustom: z.ZodBoolean;
            createdAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            value: {
                minutes: number;
                hours: number;
                days: number;
            };
            createdAt: Date;
            isStandard: boolean;
            isCustom: boolean;
        }, {
            value: {
                minutes: number;
                hours: number;
                days: number;
            };
            createdAt: Date;
            isStandard: boolean;
            isCustom: boolean;
        }>;
        isAvailable: z.ZodBoolean;
        isBooked: z.ZodBoolean;
        isBlocked: z.ZodBoolean;
        blockReason: z.ZodOptional<z.ZodString>;
        recurringPattern: z.ZodOptional<z.ZodObject<{
            frequency: z.ZodEnum<["daily", "weekly", "monthly", "yearly"]>;
            interval: z.ZodNumber;
            endDate: z.ZodOptional<z.ZodDate>;
            maxOccurrences: z.ZodOptional<z.ZodNumber>;
            daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
            dayOfMonth: z.ZodOptional<z.ZodNumber>;
            monthOfYear: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            frequency: "daily" | "weekly" | "monthly" | "yearly";
            interval: number;
            endDate?: Date | undefined;
            maxOccurrences?: number | undefined;
            daysOfWeek?: number[] | undefined;
            dayOfMonth?: number | undefined;
            monthOfYear?: number | undefined;
        }, {
            frequency: "daily" | "weekly" | "monthly" | "yearly";
            interval: number;
            endDate?: Date | undefined;
            maxOccurrences?: number | undefined;
            daysOfWeek?: number[] | undefined;
            dayOfMonth?: number | undefined;
            monthOfYear?: number | undefined;
        }>>;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
    }, "strip", z.ZodTypeAny, {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        duration: {
            value: {
                minutes: number;
                hours: number;
                days: number;
            };
            createdAt: Date;
            isStandard: boolean;
            isCustom: boolean;
        };
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        timeSlot: {
            value: {
                startTime: Date;
                endTime: Date;
            };
            createdAt: Date;
            isAvailable: boolean;
            isBooked: boolean;
            isBlocked: boolean;
            blockReason?: string | undefined;
        };
        appointmentId?: (string & z.BRAND<"AppointmentId">) | undefined;
        blockReason?: string | undefined;
        recurringPattern?: {
            frequency: "daily" | "weekly" | "monthly" | "yearly";
            interval: number;
            endDate?: Date | undefined;
            maxOccurrences?: number | undefined;
            daysOfWeek?: number[] | undefined;
            dayOfMonth?: number | undefined;
            monthOfYear?: number | undefined;
        } | undefined;
    }, {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        duration: {
            value: {
                minutes: number;
                hours: number;
                days: number;
            };
            createdAt: Date;
            isStandard: boolean;
            isCustom: boolean;
        };
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        timeSlot: {
            value: {
                startTime: Date;
                endTime: Date;
            };
            createdAt: Date;
            isAvailable: boolean;
            isBooked: boolean;
            isBlocked: boolean;
            blockReason?: string | undefined;
        };
        appointmentId?: string | undefined;
        blockReason?: string | undefined;
        recurringPattern?: {
            frequency: "daily" | "weekly" | "monthly" | "yearly";
            interval: number;
            endDate?: Date | undefined;
            maxOccurrences?: number | undefined;
            daysOfWeek?: number[] | undefined;
            dayOfMonth?: number | undefined;
            monthOfYear?: number | undefined;
        } | undefined;
    }>;
    readonly CreateAppointmentRequest: z.ZodEffects<z.ZodObject<{
        patientId: z.ZodString;
        providerId: z.ZodString;
        startTime: z.ZodDate;
        endTime: z.ZodDate;
        type: z.ZodNativeEnum<typeof AppointmentType>;
        reason: z.ZodString;
        notes: z.ZodOptional<z.ZodString>;
        symptoms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        isRecurring: z.ZodOptional<z.ZodBoolean>;
        recurringPattern: z.ZodOptional<z.ZodObject<{
            frequency: z.ZodEnum<["daily", "weekly", "monthly", "yearly"]>;
            interval: z.ZodNumber;
            endDate: z.ZodOptional<z.ZodDate>;
            maxOccurrences: z.ZodOptional<z.ZodNumber>;
            daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
            dayOfMonth: z.ZodOptional<z.ZodNumber>;
            monthOfYear: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            frequency: "daily" | "weekly" | "monthly" | "yearly";
            interval: number;
            endDate?: Date | undefined;
            maxOccurrences?: number | undefined;
            daysOfWeek?: number[] | undefined;
            dayOfMonth?: number | undefined;
            monthOfYear?: number | undefined;
        }, {
            frequency: "daily" | "weekly" | "monthly" | "yearly";
            interval: number;
            endDate?: Date | undefined;
            maxOccurrences?: number | undefined;
            daysOfWeek?: number[] | undefined;
            dayOfMonth?: number | undefined;
            monthOfYear?: number | undefined;
        }>>;
        reminders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEnum<["email", "sms", "phone", "push"]>;
            minutesBefore: z.ZodNumber;
            message: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "push" | "sms" | "email" | "phone";
            minutesBefore: number;
            message?: string | undefined;
        }, {
            type: "push" | "sms" | "email" | "phone";
            minutesBefore: number;
            message?: string | undefined;
        }>, "many">>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        type: AppointmentType;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        tags?: string[] | undefined;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        recurringPattern?: {
            frequency: "daily" | "weekly" | "monthly" | "yearly";
            interval: number;
            endDate?: Date | undefined;
            maxOccurrences?: number | undefined;
            daysOfWeek?: number[] | undefined;
            dayOfMonth?: number | undefined;
            monthOfYear?: number | undefined;
        } | undefined;
        reminders?: {
            type: "push" | "sms" | "email" | "phone";
            minutesBefore: number;
            message?: string | undefined;
        }[] | undefined;
        isRecurring?: boolean | undefined;
    }, {
        type: AppointmentType;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        tags?: string[] | undefined;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        recurringPattern?: {
            frequency: "daily" | "weekly" | "monthly" | "yearly";
            interval: number;
            endDate?: Date | undefined;
            maxOccurrences?: number | undefined;
            daysOfWeek?: number[] | undefined;
            dayOfMonth?: number | undefined;
            monthOfYear?: number | undefined;
        } | undefined;
        reminders?: {
            type: "push" | "sms" | "email" | "phone";
            minutesBefore: number;
            message?: string | undefined;
        }[] | undefined;
        isRecurring?: boolean | undefined;
    }>, {
        type: AppointmentType;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        tags?: string[] | undefined;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        recurringPattern?: {
            frequency: "daily" | "weekly" | "monthly" | "yearly";
            interval: number;
            endDate?: Date | undefined;
            maxOccurrences?: number | undefined;
            daysOfWeek?: number[] | undefined;
            dayOfMonth?: number | undefined;
            monthOfYear?: number | undefined;
        } | undefined;
        reminders?: {
            type: "push" | "sms" | "email" | "phone";
            minutesBefore: number;
            message?: string | undefined;
        }[] | undefined;
        isRecurring?: boolean | undefined;
    }, {
        type: AppointmentType;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        tags?: string[] | undefined;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        recurringPattern?: {
            frequency: "daily" | "weekly" | "monthly" | "yearly";
            interval: number;
            endDate?: Date | undefined;
            maxOccurrences?: number | undefined;
            daysOfWeek?: number[] | undefined;
            dayOfMonth?: number | undefined;
            monthOfYear?: number | undefined;
        } | undefined;
        reminders?: {
            type: "push" | "sms" | "email" | "phone";
            minutesBefore: number;
            message?: string | undefined;
        }[] | undefined;
        isRecurring?: boolean | undefined;
    }>;
    readonly UpdateAppointmentRequest: z.ZodObject<{
        startTime: z.ZodOptional<z.ZodDate>;
        endTime: z.ZodOptional<z.ZodDate>;
        type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
        status: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentStatus>>;
        reason: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
        symptoms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        diagnosis: z.ZodOptional<z.ZodArray<z.ZodObject<{
            condition: z.ZodString;
            icd10Code: z.ZodOptional<z.ZodString>;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }, {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }>, "many">>;
        prescriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            medication: z.ZodString;
            dosage: z.ZodString;
            frequency: z.ZodString;
            duration: z.ZodString;
            instructions: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }, {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }>, "many">>;
        procedures: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            cptCode: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            notes?: string | undefined;
            description?: string | undefined;
            cptCode?: string | undefined;
        }, {
            name: string;
            notes?: string | undefined;
            description?: string | undefined;
            cptCode?: string | undefined;
        }>, "many">>;
        labOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            testName: z.ZodString;
            loincCode: z.ZodOptional<z.ZodString>;
            labName: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }, {
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }>, "many">>;
        imagingOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            studyName: z.ZodString;
            modality: z.ZodEnum<["x-ray", "ct", "mri", "ultrasound", "mammography", "other"]>;
            bodyPart: z.ZodString;
            facility: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }, {
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }>, "many">>;
        referrals: z.ZodOptional<z.ZodArray<z.ZodObject<{
            specialist: z.ZodString;
            specialty: z.ZodString;
            reason: z.ZodString;
            urgency: z.ZodEnum<["routine", "urgent", "emergency"]>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }, {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }>, "many">>;
        followUp: z.ZodOptional<z.ZodObject<{
            isRequired: z.ZodBoolean;
            recommendedDate: z.ZodOptional<z.ZodDate>;
            type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
            reason: z.ZodOptional<z.ZodString>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            notes?: string | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        }, {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            notes?: string | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        }>>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        type?: AppointmentType | undefined;
        status?: AppointmentStatus | undefined;
        tags?: string[] | undefined;
        notes?: string | undefined;
        startTime?: Date | undefined;
        endTime?: Date | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            notes?: string | undefined;
            description?: string | undefined;
            cptCode?: string | undefined;
        }[] | undefined;
        reason?: string | undefined;
        labOrders?: {
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }[] | undefined;
        imagingOrders?: {
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            notes?: string | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
    }, {
        type?: AppointmentType | undefined;
        status?: AppointmentStatus | undefined;
        tags?: string[] | undefined;
        notes?: string | undefined;
        startTime?: Date | undefined;
        endTime?: Date | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            notes?: string | undefined;
            description?: string | undefined;
            cptCode?: string | undefined;
        }[] | undefined;
        reason?: string | undefined;
        labOrders?: {
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }[] | undefined;
        imagingOrders?: {
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            notes?: string | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
    }>;
    readonly CancelAppointmentRequest: z.ZodObject<{
        reason: z.ZodString;
        sendNotification: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        reason: string;
        sendNotification?: boolean | undefined;
    }, {
        reason: string;
        sendNotification?: boolean | undefined;
    }>;
    readonly RescheduleAppointmentRequest: z.ZodEffects<z.ZodObject<{
        newStartTime: z.ZodDate;
        newEndTime: z.ZodDate;
        reason: z.ZodOptional<z.ZodString>;
        sendNotification: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        newStartTime: Date;
        newEndTime: Date;
        reason?: string | undefined;
        sendNotification?: boolean | undefined;
    }, {
        newStartTime: Date;
        newEndTime: Date;
        reason?: string | undefined;
        sendNotification?: boolean | undefined;
    }>, {
        newStartTime: Date;
        newEndTime: Date;
        reason?: string | undefined;
        sendNotification?: boolean | undefined;
    }, {
        newStartTime: Date;
        newEndTime: Date;
        reason?: string | undefined;
        sendNotification?: boolean | undefined;
    }>;
    readonly AddDiagnosisRequest: z.ZodObject<{
        condition: z.ZodString;
        icd10Code: z.ZodOptional<z.ZodString>;
        severity: z.ZodEnum<["mild", "moderate", "severe"]>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }, {
        severity: "moderate" | "mild" | "severe";
        condition: string;
        notes?: string | undefined;
        icd10Code?: string | undefined;
    }>;
    readonly AddPrescriptionRequest: z.ZodObject<{
        medication: z.ZodString;
        dosage: z.ZodString;
        frequency: z.ZodString;
        duration: z.ZodString;
        instructions: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        instructions?: string | undefined;
    }, {
        duration: string;
        medication: string;
        dosage: string;
        frequency: string;
        instructions?: string | undefined;
    }>;
    readonly AddProcedureRequest: z.ZodObject<{
        name: z.ZodString;
        cptCode: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        notes?: string | undefined;
        description?: string | undefined;
        cptCode?: string | undefined;
    }, {
        name: string;
        notes?: string | undefined;
        description?: string | undefined;
        cptCode?: string | undefined;
    }>;
    readonly AddLabOrderRequest: z.ZodObject<{
        testName: z.ZodString;
        loincCode: z.ZodOptional<z.ZodString>;
        labName: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        testName: string;
        labName: string;
        loincCode?: string | undefined;
    }, {
        testName: string;
        labName: string;
        loincCode?: string | undefined;
    }>;
    readonly AddImagingOrderRequest: z.ZodObject<{
        studyName: z.ZodString;
        modality: z.ZodEnum<["x-ray", "ct", "mri", "ultrasound", "mammography", "other"]>;
        bodyPart: z.ZodString;
        facility: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        facility: string;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
    }, {
        facility: string;
        studyName: string;
        modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
        bodyPart: string;
    }>;
    readonly AddReferralRequest: z.ZodObject<{
        specialist: z.ZodString;
        specialty: z.ZodString;
        reason: z.ZodString;
        urgency: z.ZodEnum<["routine", "urgent", "emergency"]>;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        notes?: string | undefined;
    }, {
        specialist: string;
        reason: string;
        specialty: string;
        urgency: "urgent" | "emergency" | "routine";
        notes?: string | undefined;
    }>;
    readonly ScheduleFollowUpRequest: z.ZodObject<{
        recommendedDate: z.ZodDate;
        type: z.ZodNativeEnum<typeof AppointmentType>;
        reason: z.ZodString;
        notes: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: AppointmentType;
        reason: string;
        recommendedDate: Date;
        notes?: string | undefined;
    }, {
        type: AppointmentType;
        reason: string;
        recommendedDate: Date;
        notes?: string | undefined;
    }>;
    readonly AppointmentResponse: z.ZodObject<{
        id: z.ZodBranded<z.ZodString, "AppointmentId">;
        patientId: z.ZodString;
        providerId: z.ZodString;
        startTime: z.ZodDate;
        endTime: z.ZodDate;
        type: z.ZodNativeEnum<typeof AppointmentType>;
        status: z.ZodNativeEnum<typeof AppointmentStatus>;
        reason: z.ZodString;
        notes: z.ZodOptional<z.ZodString>;
        symptoms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        diagnosis: z.ZodOptional<z.ZodArray<z.ZodObject<{
            condition: z.ZodString;
            icd10Code: z.ZodOptional<z.ZodString>;
            severity: z.ZodEnum<["mild", "moderate", "severe"]>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }, {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }>, "many">>;
        prescriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            medication: z.ZodString;
            dosage: z.ZodString;
            frequency: z.ZodString;
            duration: z.ZodString;
            instructions: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }, {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }>, "many">>;
        procedures: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            cptCode: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            performedAt: z.ZodOptional<z.ZodDate>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }, {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }>, "many">>;
        labOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            testName: z.ZodString;
            loincCode: z.ZodOptional<z.ZodString>;
            labName: z.ZodString;
            status: z.ZodEnum<["ordered", "in-progress", "completed", "cancelled"]>;
        }, "strip", z.ZodTypeAny, {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }, {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }>, "many">>;
        imagingOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            studyName: z.ZodString;
            modality: z.ZodEnum<["x-ray", "ct", "mri", "ultrasound", "mammography", "other"]>;
            bodyPart: z.ZodString;
            facility: z.ZodString;
            status: z.ZodEnum<["ordered", "in-progress", "completed", "cancelled"]>;
        }, "strip", z.ZodTypeAny, {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }, {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }>, "many">>;
        referrals: z.ZodOptional<z.ZodArray<z.ZodObject<{
            specialist: z.ZodString;
            specialty: z.ZodString;
            reason: z.ZodString;
            urgency: z.ZodEnum<["routine", "urgent", "emergency"]>;
            notes: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }, {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }>, "many">>;
        followUp: z.ZodOptional<z.ZodObject<{
            isRequired: z.ZodBoolean;
            recommendedDate: z.ZodOptional<z.ZodDate>;
            type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
            reason: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        }, {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        }>>;
        billing: z.ZodOptional<z.ZodObject<{
            totalAmount: z.ZodNumber;
            insuranceAmount: z.ZodNumber;
            patientAmount: z.ZodNumber;
            status: z.ZodEnum<["pending", "billed", "paid", "denied", "appealed"]>;
        }, "strip", z.ZodTypeAny, {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        }, {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        }>>;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
        cancelledAt: z.ZodOptional<z.ZodDate>;
        cancellationReason: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: AppointmentType;
        id: string & z.BRAND<"AppointmentId">;
        createdAt: Date;
        updatedAt: Date;
        status: AppointmentStatus;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }[] | undefined;
        billing?: {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        } | undefined;
        cancelledAt?: Date | undefined;
        labOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }[] | undefined;
        imagingOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
        cancellationReason?: string | undefined;
    }, {
        type: AppointmentType;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: AppointmentStatus;
        patientId: string;
        startTime: Date;
        endTime: Date;
        providerId: string;
        reason: string;
        notes?: string | undefined;
        symptoms?: string[] | undefined;
        diagnosis?: {
            severity: "moderate" | "mild" | "severe";
            condition: string;
            notes?: string | undefined;
            icd10Code?: string | undefined;
        }[] | undefined;
        prescriptions?: {
            duration: string;
            medication: string;
            dosage: string;
            frequency: string;
            instructions?: string | undefined;
        }[] | undefined;
        procedures?: {
            name: string;
            description?: string | undefined;
            cptCode?: string | undefined;
            performedAt?: Date | undefined;
        }[] | undefined;
        billing?: {
            status: "pending" | "billed" | "paid" | "denied" | "appealed";
            totalAmount: number;
            insuranceAmount: number;
            patientAmount: number;
        } | undefined;
        cancelledAt?: Date | undefined;
        labOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            testName: string;
            labName: string;
            loincCode?: string | undefined;
        }[] | undefined;
        imagingOrders?: {
            status: "cancelled" | "completed" | "ordered" | "in-progress";
            facility: string;
            studyName: string;
            modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
            bodyPart: string;
        }[] | undefined;
        referrals?: {
            specialist: string;
            reason: string;
            specialty: string;
            urgency: "urgent" | "emergency" | "routine";
            notes?: string | undefined;
        }[] | undefined;
        followUp?: {
            isRequired: boolean;
            type?: AppointmentType | undefined;
            reason?: string | undefined;
            recommendedDate?: Date | undefined;
        } | undefined;
        cancellationReason?: string | undefined;
    }>;
    readonly AppointmentListResponse: z.ZodObject<{
        appointments: z.ZodArray<z.ZodObject<{
            id: z.ZodBranded<z.ZodString, "AppointmentId">;
            patientId: z.ZodString;
            providerId: z.ZodString;
            startTime: z.ZodDate;
            endTime: z.ZodDate;
            type: z.ZodNativeEnum<typeof AppointmentType>;
            status: z.ZodNativeEnum<typeof AppointmentStatus>;
            reason: z.ZodString;
            notes: z.ZodOptional<z.ZodString>;
            symptoms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            diagnosis: z.ZodOptional<z.ZodArray<z.ZodObject<{
                condition: z.ZodString;
                icd10Code: z.ZodOptional<z.ZodString>;
                severity: z.ZodEnum<["mild", "moderate", "severe"]>;
                notes: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                severity: "moderate" | "mild" | "severe";
                condition: string;
                notes?: string | undefined;
                icd10Code?: string | undefined;
            }, {
                severity: "moderate" | "mild" | "severe";
                condition: string;
                notes?: string | undefined;
                icd10Code?: string | undefined;
            }>, "many">>;
            prescriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                medication: z.ZodString;
                dosage: z.ZodString;
                frequency: z.ZodString;
                duration: z.ZodString;
                instructions: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                duration: string;
                medication: string;
                dosage: string;
                frequency: string;
                instructions?: string | undefined;
            }, {
                duration: string;
                medication: string;
                dosage: string;
                frequency: string;
                instructions?: string | undefined;
            }>, "many">>;
            procedures: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                cptCode: z.ZodOptional<z.ZodString>;
                description: z.ZodOptional<z.ZodString>;
                performedAt: z.ZodOptional<z.ZodDate>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                cptCode?: string | undefined;
                performedAt?: Date | undefined;
            }, {
                name: string;
                description?: string | undefined;
                cptCode?: string | undefined;
                performedAt?: Date | undefined;
            }>, "many">>;
            labOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
                testName: z.ZodString;
                loincCode: z.ZodOptional<z.ZodString>;
                labName: z.ZodString;
                status: z.ZodEnum<["ordered", "in-progress", "completed", "cancelled"]>;
            }, "strip", z.ZodTypeAny, {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                testName: string;
                labName: string;
                loincCode?: string | undefined;
            }, {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                testName: string;
                labName: string;
                loincCode?: string | undefined;
            }>, "many">>;
            imagingOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
                studyName: z.ZodString;
                modality: z.ZodEnum<["x-ray", "ct", "mri", "ultrasound", "mammography", "other"]>;
                bodyPart: z.ZodString;
                facility: z.ZodString;
                status: z.ZodEnum<["ordered", "in-progress", "completed", "cancelled"]>;
            }, "strip", z.ZodTypeAny, {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                facility: string;
                studyName: string;
                modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
                bodyPart: string;
            }, {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                facility: string;
                studyName: string;
                modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
                bodyPart: string;
            }>, "many">>;
            referrals: z.ZodOptional<z.ZodArray<z.ZodObject<{
                specialist: z.ZodString;
                specialty: z.ZodString;
                reason: z.ZodString;
                urgency: z.ZodEnum<["routine", "urgent", "emergency"]>;
                notes: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                specialist: string;
                reason: string;
                specialty: string;
                urgency: "urgent" | "emergency" | "routine";
                notes?: string | undefined;
            }, {
                specialist: string;
                reason: string;
                specialty: string;
                urgency: "urgent" | "emergency" | "routine";
                notes?: string | undefined;
            }>, "many">>;
            followUp: z.ZodOptional<z.ZodObject<{
                isRequired: z.ZodBoolean;
                recommendedDate: z.ZodOptional<z.ZodDate>;
                type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
                reason: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                isRequired: boolean;
                type?: AppointmentType | undefined;
                reason?: string | undefined;
                recommendedDate?: Date | undefined;
            }, {
                isRequired: boolean;
                type?: AppointmentType | undefined;
                reason?: string | undefined;
                recommendedDate?: Date | undefined;
            }>>;
            billing: z.ZodOptional<z.ZodObject<{
                totalAmount: z.ZodNumber;
                insuranceAmount: z.ZodNumber;
                patientAmount: z.ZodNumber;
                status: z.ZodEnum<["pending", "billed", "paid", "denied", "appealed"]>;
            }, "strip", z.ZodTypeAny, {
                status: "pending" | "billed" | "paid" | "denied" | "appealed";
                totalAmount: number;
                insuranceAmount: number;
                patientAmount: number;
            }, {
                status: "pending" | "billed" | "paid" | "denied" | "appealed";
                totalAmount: number;
                insuranceAmount: number;
                patientAmount: number;
            }>>;
            createdAt: z.ZodDate;
            updatedAt: z.ZodDate;
            cancelledAt: z.ZodOptional<z.ZodDate>;
            cancellationReason: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: AppointmentType;
            id: string & z.BRAND<"AppointmentId">;
            createdAt: Date;
            updatedAt: Date;
            status: AppointmentStatus;
            patientId: string;
            startTime: Date;
            endTime: Date;
            providerId: string;
            reason: string;
            notes?: string | undefined;
            symptoms?: string[] | undefined;
            diagnosis?: {
                severity: "moderate" | "mild" | "severe";
                condition: string;
                notes?: string | undefined;
                icd10Code?: string | undefined;
            }[] | undefined;
            prescriptions?: {
                duration: string;
                medication: string;
                dosage: string;
                frequency: string;
                instructions?: string | undefined;
            }[] | undefined;
            procedures?: {
                name: string;
                description?: string | undefined;
                cptCode?: string | undefined;
                performedAt?: Date | undefined;
            }[] | undefined;
            billing?: {
                status: "pending" | "billed" | "paid" | "denied" | "appealed";
                totalAmount: number;
                insuranceAmount: number;
                patientAmount: number;
            } | undefined;
            cancelledAt?: Date | undefined;
            labOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                testName: string;
                labName: string;
                loincCode?: string | undefined;
            }[] | undefined;
            imagingOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                facility: string;
                studyName: string;
                modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
                bodyPart: string;
            }[] | undefined;
            referrals?: {
                specialist: string;
                reason: string;
                specialty: string;
                urgency: "urgent" | "emergency" | "routine";
                notes?: string | undefined;
            }[] | undefined;
            followUp?: {
                isRequired: boolean;
                type?: AppointmentType | undefined;
                reason?: string | undefined;
                recommendedDate?: Date | undefined;
            } | undefined;
            cancellationReason?: string | undefined;
        }, {
            type: AppointmentType;
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: AppointmentStatus;
            patientId: string;
            startTime: Date;
            endTime: Date;
            providerId: string;
            reason: string;
            notes?: string | undefined;
            symptoms?: string[] | undefined;
            diagnosis?: {
                severity: "moderate" | "mild" | "severe";
                condition: string;
                notes?: string | undefined;
                icd10Code?: string | undefined;
            }[] | undefined;
            prescriptions?: {
                duration: string;
                medication: string;
                dosage: string;
                frequency: string;
                instructions?: string | undefined;
            }[] | undefined;
            procedures?: {
                name: string;
                description?: string | undefined;
                cptCode?: string | undefined;
                performedAt?: Date | undefined;
            }[] | undefined;
            billing?: {
                status: "pending" | "billed" | "paid" | "denied" | "appealed";
                totalAmount: number;
                insuranceAmount: number;
                patientAmount: number;
            } | undefined;
            cancelledAt?: Date | undefined;
            labOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                testName: string;
                labName: string;
                loincCode?: string | undefined;
            }[] | undefined;
            imagingOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                facility: string;
                studyName: string;
                modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
                bodyPart: string;
            }[] | undefined;
            referrals?: {
                specialist: string;
                reason: string;
                specialty: string;
                urgency: "urgent" | "emergency" | "routine";
                notes?: string | undefined;
            }[] | undefined;
            followUp?: {
                isRequired: boolean;
                type?: AppointmentType | undefined;
                reason?: string | undefined;
                recommendedDate?: Date | undefined;
            } | undefined;
            cancellationReason?: string | 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;
        };
        appointments: {
            type: AppointmentType;
            id: string & z.BRAND<"AppointmentId">;
            createdAt: Date;
            updatedAt: Date;
            status: AppointmentStatus;
            patientId: string;
            startTime: Date;
            endTime: Date;
            providerId: string;
            reason: string;
            notes?: string | undefined;
            symptoms?: string[] | undefined;
            diagnosis?: {
                severity: "moderate" | "mild" | "severe";
                condition: string;
                notes?: string | undefined;
                icd10Code?: string | undefined;
            }[] | undefined;
            prescriptions?: {
                duration: string;
                medication: string;
                dosage: string;
                frequency: string;
                instructions?: string | undefined;
            }[] | undefined;
            procedures?: {
                name: string;
                description?: string | undefined;
                cptCode?: string | undefined;
                performedAt?: Date | undefined;
            }[] | undefined;
            billing?: {
                status: "pending" | "billed" | "paid" | "denied" | "appealed";
                totalAmount: number;
                insuranceAmount: number;
                patientAmount: number;
            } | undefined;
            cancelledAt?: Date | undefined;
            labOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                testName: string;
                labName: string;
                loincCode?: string | undefined;
            }[] | undefined;
            imagingOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                facility: string;
                studyName: string;
                modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
                bodyPart: string;
            }[] | undefined;
            referrals?: {
                specialist: string;
                reason: string;
                specialty: string;
                urgency: "urgent" | "emergency" | "routine";
                notes?: string | undefined;
            }[] | undefined;
            followUp?: {
                isRequired: boolean;
                type?: AppointmentType | undefined;
                reason?: string | undefined;
                recommendedDate?: Date | undefined;
            } | undefined;
            cancellationReason?: string | undefined;
        }[];
    }, {
        pagination: {
            page: number;
            limit: number;
            total: number;
            totalPages: number;
        };
        appointments: {
            type: AppointmentType;
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: AppointmentStatus;
            patientId: string;
            startTime: Date;
            endTime: Date;
            providerId: string;
            reason: string;
            notes?: string | undefined;
            symptoms?: string[] | undefined;
            diagnosis?: {
                severity: "moderate" | "mild" | "severe";
                condition: string;
                notes?: string | undefined;
                icd10Code?: string | undefined;
            }[] | undefined;
            prescriptions?: {
                duration: string;
                medication: string;
                dosage: string;
                frequency: string;
                instructions?: string | undefined;
            }[] | undefined;
            procedures?: {
                name: string;
                description?: string | undefined;
                cptCode?: string | undefined;
                performedAt?: Date | undefined;
            }[] | undefined;
            billing?: {
                status: "pending" | "billed" | "paid" | "denied" | "appealed";
                totalAmount: number;
                insuranceAmount: number;
                patientAmount: number;
            } | undefined;
            cancelledAt?: Date | undefined;
            labOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                testName: string;
                labName: string;
                loincCode?: string | undefined;
            }[] | undefined;
            imagingOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                facility: string;
                studyName: string;
                modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
                bodyPart: string;
            }[] | undefined;
            referrals?: {
                specialist: string;
                reason: string;
                specialty: string;
                urgency: "urgent" | "emergency" | "routine";
                notes?: string | undefined;
            }[] | undefined;
            followUp?: {
                isRequired: boolean;
                type?: AppointmentType | undefined;
                reason?: string | undefined;
                recommendedDate?: Date | undefined;
            } | undefined;
            cancellationReason?: string | undefined;
        }[];
    }>;
    readonly AppointmentSlotResponse: z.ZodObject<{
        id: z.ZodString;
        startTime: z.ZodDate;
        endTime: z.ZodDate;
        isAvailable: z.ZodBoolean;
        isBooked: z.ZodBoolean;
        isBlocked: z.ZodBoolean;
        blockReason: z.ZodOptional<z.ZodString>;
        appointmentId: z.ZodOptional<z.ZodBranded<z.ZodString, "AppointmentId">>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        startTime: Date;
        endTime: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        appointmentId?: (string & z.BRAND<"AppointmentId">) | undefined;
        blockReason?: string | undefined;
    }, {
        id: string;
        startTime: Date;
        endTime: Date;
        isAvailable: boolean;
        isBooked: boolean;
        isBlocked: boolean;
        appointmentId?: string | undefined;
        blockReason?: string | undefined;
    }>;
    readonly AppointmentSlotListResponse: z.ZodObject<{
        slots: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            startTime: z.ZodDate;
            endTime: z.ZodDate;
            isAvailable: z.ZodBoolean;
            isBooked: z.ZodBoolean;
            isBlocked: z.ZodBoolean;
            blockReason: z.ZodOptional<z.ZodString>;
            appointmentId: z.ZodOptional<z.ZodBranded<z.ZodString, "AppointmentId">>;
        }, "strip", z.ZodTypeAny, {
            id: string;
            startTime: Date;
            endTime: Date;
            isAvailable: boolean;
            isBooked: boolean;
            isBlocked: boolean;
            appointmentId?: (string & z.BRAND<"AppointmentId">) | undefined;
            blockReason?: string | undefined;
        }, {
            id: string;
            startTime: Date;
            endTime: Date;
            isAvailable: boolean;
            isBooked: boolean;
            isBlocked: boolean;
            appointmentId?: string | undefined;
            blockReason?: string | 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;
        };
        slots: {
            id: string;
            startTime: Date;
            endTime: Date;
            isAvailable: boolean;
            isBooked: boolean;
            isBlocked: boolean;
            appointmentId?: (string & z.BRAND<"AppointmentId">) | undefined;
            blockReason?: string | undefined;
        }[];
    }, {
        pagination: {
            page: number;
            limit: number;
            total: number;
            totalPages: number;
        };
        slots: {
            id: string;
            startTime: Date;
            endTime: Date;
            isAvailable: boolean;
            isBooked: boolean;
            isBlocked: boolean;
            appointmentId?: string | undefined;
            blockReason?: string | undefined;
        }[];
    }>;
    readonly AppointmentDetailResponse: z.ZodObject<{
        appointment: z.ZodObject<{
            id: z.ZodBranded<z.ZodString, "AppointmentId">;
            patientId: z.ZodString;
            providerId: z.ZodString;
            startTime: z.ZodDate;
            endTime: z.ZodDate;
            type: z.ZodNativeEnum<typeof AppointmentType>;
            status: z.ZodNativeEnum<typeof AppointmentStatus>;
            reason: z.ZodString;
            notes: z.ZodOptional<z.ZodString>;
            symptoms: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            diagnosis: z.ZodOptional<z.ZodArray<z.ZodObject<{
                condition: z.ZodString;
                icd10Code: z.ZodOptional<z.ZodString>;
                severity: z.ZodEnum<["mild", "moderate", "severe"]>;
                notes: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                severity: "moderate" | "mild" | "severe";
                condition: string;
                notes?: string | undefined;
                icd10Code?: string | undefined;
            }, {
                severity: "moderate" | "mild" | "severe";
                condition: string;
                notes?: string | undefined;
                icd10Code?: string | undefined;
            }>, "many">>;
            prescriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                medication: z.ZodString;
                dosage: z.ZodString;
                frequency: z.ZodString;
                duration: z.ZodString;
                instructions: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                duration: string;
                medication: string;
                dosage: string;
                frequency: string;
                instructions?: string | undefined;
            }, {
                duration: string;
                medication: string;
                dosage: string;
                frequency: string;
                instructions?: string | undefined;
            }>, "many">>;
            procedures: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                cptCode: z.ZodOptional<z.ZodString>;
                description: z.ZodOptional<z.ZodString>;
                performedAt: z.ZodOptional<z.ZodDate>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                cptCode?: string | undefined;
                performedAt?: Date | undefined;
            }, {
                name: string;
                description?: string | undefined;
                cptCode?: string | undefined;
                performedAt?: Date | undefined;
            }>, "many">>;
            labOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
                testName: z.ZodString;
                loincCode: z.ZodOptional<z.ZodString>;
                labName: z.ZodString;
                status: z.ZodEnum<["ordered", "in-progress", "completed", "cancelled"]>;
            }, "strip", z.ZodTypeAny, {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                testName: string;
                labName: string;
                loincCode?: string | undefined;
            }, {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                testName: string;
                labName: string;
                loincCode?: string | undefined;
            }>, "many">>;
            imagingOrders: z.ZodOptional<z.ZodArray<z.ZodObject<{
                studyName: z.ZodString;
                modality: z.ZodEnum<["x-ray", "ct", "mri", "ultrasound", "mammography", "other"]>;
                bodyPart: z.ZodString;
                facility: z.ZodString;
                status: z.ZodEnum<["ordered", "in-progress", "completed", "cancelled"]>;
            }, "strip", z.ZodTypeAny, {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                facility: string;
                studyName: string;
                modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
                bodyPart: string;
            }, {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                facility: string;
                studyName: string;
                modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
                bodyPart: string;
            }>, "many">>;
            referrals: z.ZodOptional<z.ZodArray<z.ZodObject<{
                specialist: z.ZodString;
                specialty: z.ZodString;
                reason: z.ZodString;
                urgency: z.ZodEnum<["routine", "urgent", "emergency"]>;
                notes: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                specialist: string;
                reason: string;
                specialty: string;
                urgency: "urgent" | "emergency" | "routine";
                notes?: string | undefined;
            }, {
                specialist: string;
                reason: string;
                specialty: string;
                urgency: "urgent" | "emergency" | "routine";
                notes?: string | undefined;
            }>, "many">>;
            followUp: z.ZodOptional<z.ZodObject<{
                isRequired: z.ZodBoolean;
                recommendedDate: z.ZodOptional<z.ZodDate>;
                type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
                reason: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                isRequired: boolean;
                type?: AppointmentType | undefined;
                reason?: string | undefined;
                recommendedDate?: Date | undefined;
            }, {
                isRequired: boolean;
                type?: AppointmentType | undefined;
                reason?: string | undefined;
                recommendedDate?: Date | undefined;
            }>>;
            billing: z.ZodOptional<z.ZodObject<{
                totalAmount: z.ZodNumber;
                insuranceAmount: z.ZodNumber;
                patientAmount: z.ZodNumber;
                status: z.ZodEnum<["pending", "billed", "paid", "denied", "appealed"]>;
            }, "strip", z.ZodTypeAny, {
                status: "pending" | "billed" | "paid" | "denied" | "appealed";
                totalAmount: number;
                insuranceAmount: number;
                patientAmount: number;
            }, {
                status: "pending" | "billed" | "paid" | "denied" | "appealed";
                totalAmount: number;
                insuranceAmount: number;
                patientAmount: number;
            }>>;
            createdAt: z.ZodDate;
            updatedAt: z.ZodDate;
            cancelledAt: z.ZodOptional<z.ZodDate>;
            cancellationReason: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: AppointmentType;
            id: string & z.BRAND<"AppointmentId">;
            createdAt: Date;
            updatedAt: Date;
            status: AppointmentStatus;
            patientId: string;
            startTime: Date;
            endTime: Date;
            providerId: string;
            reason: string;
            notes?: string | undefined;
            symptoms?: string[] | undefined;
            diagnosis?: {
                severity: "moderate" | "mild" | "severe";
                condition: string;
                notes?: string | undefined;
                icd10Code?: string | undefined;
            }[] | undefined;
            prescriptions?: {
                duration: string;
                medication: string;
                dosage: string;
                frequency: string;
                instructions?: string | undefined;
            }[] | undefined;
            procedures?: {
                name: string;
                description?: string | undefined;
                cptCode?: string | undefined;
                performedAt?: Date | undefined;
            }[] | undefined;
            billing?: {
                status: "pending" | "billed" | "paid" | "denied" | "appealed";
                totalAmount: number;
                insuranceAmount: number;
                patientAmount: number;
            } | undefined;
            cancelledAt?: Date | undefined;
            labOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                testName: string;
                labName: string;
                loincCode?: string | undefined;
            }[] | undefined;
            imagingOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                facility: string;
                studyName: string;
                modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
                bodyPart: string;
            }[] | undefined;
            referrals?: {
                specialist: string;
                reason: string;
                specialty: string;
                urgency: "urgent" | "emergency" | "routine";
                notes?: string | undefined;
            }[] | undefined;
            followUp?: {
                isRequired: boolean;
                type?: AppointmentType | undefined;
                reason?: string | undefined;
                recommendedDate?: Date | undefined;
            } | undefined;
            cancellationReason?: string | undefined;
        }, {
            type: AppointmentType;
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: AppointmentStatus;
            patientId: string;
            startTime: Date;
            endTime: Date;
            providerId: string;
            reason: string;
            notes?: string | undefined;
            symptoms?: string[] | undefined;
            diagnosis?: {
                severity: "moderate" | "mild" | "severe";
                condition: string;
                notes?: string | undefined;
                icd10Code?: string | undefined;
            }[] | undefined;
            prescriptions?: {
                duration: string;
                medication: string;
                dosage: string;
                frequency: string;
                instructions?: string | undefined;
            }[] | undefined;
            procedures?: {
                name: string;
                description?: string | undefined;
                cptCode?: string | undefined;
                performedAt?: Date | undefined;
            }[] | undefined;
            billing?: {
                status: "pending" | "billed" | "paid" | "denied" | "appealed";
                totalAmount: number;
                insuranceAmount: number;
                patientAmount: number;
            } | undefined;
            cancelledAt?: Date | undefined;
            labOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                testName: string;
                labName: string;
                loincCode?: string | undefined;
            }[] | undefined;
            imagingOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                facility: string;
                studyName: string;
                modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
                bodyPart: string;
            }[] | undefined;
            referrals?: {
                specialist: string;
                reason: string;
                specialty: string;
                urgency: "urgent" | "emergency" | "routine";
                notes?: string | undefined;
            }[] | undefined;
            followUp?: {
                isRequired: boolean;
                type?: AppointmentType | undefined;
                reason?: string | undefined;
                recommendedDate?: Date | undefined;
            } | undefined;
            cancellationReason?: string | undefined;
        }>;
        patient: z.ZodObject<{
            id: z.ZodString;
            firstName: z.ZodString;
            lastName: z.ZodString;
            dateOfBirth: z.ZodDate;
            phoneNumber: z.ZodOptional<z.ZodString>;
            email: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id: string;
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            email?: string | undefined;
            phoneNumber?: string | undefined;
        }, {
            id: string;
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            email?: string | undefined;
            phoneNumber?: string | undefined;
        }>;
        provider: z.ZodObject<{
            id: z.ZodString;
            firstName: z.ZodString;
            lastName: z.ZodString;
            specialty: z.ZodOptional<z.ZodString>;
            phoneNumber: z.ZodOptional<z.ZodString>;
            email: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id: string;
            firstName: string;
            lastName: string;
            email?: string | undefined;
            phoneNumber?: string | undefined;
            specialty?: string | undefined;
        }, {
            id: string;
            firstName: string;
            lastName: string;
            email?: string | undefined;
            phoneNumber?: string | undefined;
            specialty?: string | undefined;
        }>;
        reminders: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEnum<["email", "sms", "phone", "push"]>;
            scheduledAt: z.ZodDate;
            sentAt: z.ZodOptional<z.ZodDate>;
            status: z.ZodEnum<["scheduled", "sent", "failed", "cancelled"]>;
        }, "strip", z.ZodTypeAny, {
            type: "push" | "sms" | "email" | "phone";
            status: "cancelled" | "scheduled" | "sent" | "failed";
            scheduledAt: Date;
            sentAt?: Date | undefined;
        }, {
            type: "push" | "sms" | "email" | "phone";
            status: "cancelled" | "scheduled" | "sent" | "failed";
            scheduledAt: Date;
            sentAt?: Date | undefined;
        }>, "many">>;
        attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            type: z.ZodEnum<["document", "image", "video", "audio"]>;
            url: z.ZodString;
            size: z.ZodNumber;
            uploadedAt: z.ZodDate;
        }, "strip", z.ZodTypeAny, {
            type: "document" | "image" | "video" | "audio";
            id: string;
            name: string;
            url: string;
            size: number;
            uploadedAt: Date;
        }, {
            type: "document" | "image" | "video" | "audio";
            id: string;
            name: string;
            url: string;
            size: number;
            uploadedAt: Date;
        }>, "many">>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        patient: {
            id: string;
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            email?: string | undefined;
            phoneNumber?: string | undefined;
        };
        provider: {
            id: string;
            firstName: string;
            lastName: string;
            email?: string | undefined;
            phoneNumber?: string | undefined;
            specialty?: string | undefined;
        };
        appointment: {
            type: AppointmentType;
            id: string & z.BRAND<"AppointmentId">;
            createdAt: Date;
            updatedAt: Date;
            status: AppointmentStatus;
            patientId: string;
            startTime: Date;
            endTime: Date;
            providerId: string;
            reason: string;
            notes?: string | undefined;
            symptoms?: string[] | undefined;
            diagnosis?: {
                severity: "moderate" | "mild" | "severe";
                condition: string;
                notes?: string | undefined;
                icd10Code?: string | undefined;
            }[] | undefined;
            prescriptions?: {
                duration: string;
                medication: string;
                dosage: string;
                frequency: string;
                instructions?: string | undefined;
            }[] | undefined;
            procedures?: {
                name: string;
                description?: string | undefined;
                cptCode?: string | undefined;
                performedAt?: Date | undefined;
            }[] | undefined;
            billing?: {
                status: "pending" | "billed" | "paid" | "denied" | "appealed";
                totalAmount: number;
                insuranceAmount: number;
                patientAmount: number;
            } | undefined;
            cancelledAt?: Date | undefined;
            labOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                testName: string;
                labName: string;
                loincCode?: string | undefined;
            }[] | undefined;
            imagingOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                facility: string;
                studyName: string;
                modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
                bodyPart: string;
            }[] | undefined;
            referrals?: {
                specialist: string;
                reason: string;
                specialty: string;
                urgency: "urgent" | "emergency" | "routine";
                notes?: string | undefined;
            }[] | undefined;
            followUp?: {
                isRequired: boolean;
                type?: AppointmentType | undefined;
                reason?: string | undefined;
                recommendedDate?: Date | undefined;
            } | undefined;
            cancellationReason?: string | undefined;
        };
        tags?: string[] | undefined;
        attachments?: {
            type: "document" | "image" | "video" | "audio";
            id: string;
            name: string;
            url: string;
            size: number;
            uploadedAt: Date;
        }[] | undefined;
        reminders?: {
            type: "push" | "sms" | "email" | "phone";
            status: "cancelled" | "scheduled" | "sent" | "failed";
            scheduledAt: Date;
            sentAt?: Date | undefined;
        }[] | undefined;
    }, {
        patient: {
            id: string;
            firstName: string;
            lastName: string;
            dateOfBirth: Date;
            email?: string | undefined;
            phoneNumber?: string | undefined;
        };
        provider: {
            id: string;
            firstName: string;
            lastName: string;
            email?: string | undefined;
            phoneNumber?: string | undefined;
            specialty?: string | undefined;
        };
        appointment: {
            type: AppointmentType;
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: AppointmentStatus;
            patientId: string;
            startTime: Date;
            endTime: Date;
            providerId: string;
            reason: string;
            notes?: string | undefined;
            symptoms?: string[] | undefined;
            diagnosis?: {
                severity: "moderate" | "mild" | "severe";
                condition: string;
                notes?: string | undefined;
                icd10Code?: string | undefined;
            }[] | undefined;
            prescriptions?: {
                duration: string;
                medication: string;
                dosage: string;
                frequency: string;
                instructions?: string | undefined;
            }[] | undefined;
            procedures?: {
                name: string;
                description?: string | undefined;
                cptCode?: string | undefined;
                performedAt?: Date | undefined;
            }[] | undefined;
            billing?: {
                status: "pending" | "billed" | "paid" | "denied" | "appealed";
                totalAmount: number;
                insuranceAmount: number;
                patientAmount: number;
            } | undefined;
            cancelledAt?: Date | undefined;
            labOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                testName: string;
                labName: string;
                loincCode?: string | undefined;
            }[] | undefined;
            imagingOrders?: {
                status: "cancelled" | "completed" | "ordered" | "in-progress";
                facility: string;
                studyName: string;
                modality: "other" | "x-ray" | "ct" | "mri" | "ultrasound" | "mammography";
                bodyPart: string;
            }[] | undefined;
            referrals?: {
                specialist: string;
                reason: string;
                specialty: string;
                urgency: "urgent" | "emergency" | "routine";
                notes?: string | undefined;
            }[] | undefined;
            followUp?: {
                isRequired: boolean;
                type?: AppointmentType | undefined;
                reason?: string | undefined;
                recommendedDate?: Date | undefined;
            } | undefined;
            cancellationReason?: string | undefined;
        };
        tags?: string[] | undefined;
        attachments?: {
            type: "document" | "image" | "video" | "audio";
            id: string;
            name: string;
            url: string;
            size: number;
            uploadedAt: Date;
        }[] | undefined;
        reminders?: {
            type: "push" | "sms" | "email" | "phone";
            status: "cancelled" | "scheduled" | "sent" | "failed";
            scheduledAt: Date;
            sentAt?: Date | undefined;
        }[] | undefined;
    }>;
    readonly AppointmentSearchFilters: z.ZodObject<{
        query: z.ZodOptional<z.ZodString>;
        patientId: z.ZodOptional<z.ZodString>;
        providerId: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
        status: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentStatus>>;
        startDate: z.ZodOptional<z.ZodDate>;
        endDate: z.ZodOptional<z.ZodDate>;
        hasDiagnosis: z.ZodOptional<z.ZodBoolean>;
        hasPrescriptions: z.ZodOptional<z.ZodBoolean>;
        hasProcedures: z.ZodOptional<z.ZodBoolean>;
        hasLabOrders: z.ZodOptional<z.ZodBoolean>;
        hasImagingOrders: z.ZodOptional<z.ZodBoolean>;
        hasReferrals: z.ZodOptional<z.ZodBoolean>;
        hasFollowUp: z.ZodOptional<z.ZodBoolean>;
        isCancelled: 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, {
        type?: AppointmentType | undefined;
        status?: AppointmentStatus | undefined;
        tags?: string[] | undefined;
        patientId?: string | undefined;
        providerId?: string | undefined;
        startDate?: Date | undefined;
        endDate?: Date | undefined;
        query?: string | undefined;
        createdAfter?: Date | undefined;
        createdBefore?: Date | undefined;
        hasDiagnosis?: boolean | undefined;
        hasPrescriptions?: boolean | undefined;
        hasProcedures?: boolean | undefined;
        hasLabOrders?: boolean | undefined;
        hasImagingOrders?: boolean | undefined;
        hasReferrals?: boolean | undefined;
        hasFollowUp?: boolean | undefined;
        isCancelled?: boolean | undefined;
    }, {
        type?: AppointmentType | undefined;
        status?: AppointmentStatus | undefined;
        tags?: string[] | undefined;
        patientId?: string | undefined;
        providerId?: string | undefined;
        startDate?: Date | undefined;
        endDate?: Date | undefined;
        query?: string | undefined;
        createdAfter?: Date | undefined;
        createdBefore?: Date | undefined;
        hasDiagnosis?: boolean | undefined;
        hasPrescriptions?: boolean | undefined;
        hasProcedures?: boolean | undefined;
        hasLabOrders?: boolean | undefined;
        hasImagingOrders?: boolean | undefined;
        hasReferrals?: boolean | undefined;
        hasFollowUp?: boolean | undefined;
        isCancelled?: boolean | undefined;
    }>;
    readonly AppointmentSlotSearchFilters: z.ZodObject<{
        providerId: z.ZodString;
        startDate: z.ZodDate;
        endDate: z.ZodDate;
        type: z.ZodOptional<z.ZodNativeEnum<typeof AppointmentType>>;
        duration: z.ZodOptional<z.ZodNumber>;
        isAvailable: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        providerId: string;
        startDate: Date;
        endDate: Date;
        type?: AppointmentType | undefined;
        duration?: number | undefined;
        isAvailable?: boolean | undefined;
    }, {
        providerId: string;
        startDate: Date;
        endDate: Date;
        type?: AppointmentType | undefined;
        duration?: number | undefined;
        isAvailable?: boolean | undefined;
    }>;
    readonly AppointmentSortOptions: z.ZodEnum<["startTime", "endTime", "createdAt", "updatedAt", "status", "type", "patientName", "providerName"]>;
    readonly ValidationUtils: {
        isValidTimeSlot: (startTime: Date, endTime: Date) => boolean;
        calculateDuration: (startTime: Date, endTime: Date) => {
            minutes: number;
            hours: number;
            days: number;
        };
        isBusinessHours: (date: Date) => boolean;
        isAvailableTimeSlot: (startTime: Date, endTime: Date, existingAppointments: any[]) => boolean;
        validateAppointmentData: (data: any) => {
            isValid: boolean;
            errors: string[];
        };
    };
};
//# sourceMappingURL=appointment-schemas.d.ts.map