export * from './entities/Patient';
export * from './value-objects/PatientId';
export * from './enums/PatientStatus';
export * from './events/PatientDomainEvent';
import type { Patient, PatientProfile, MedicalHistory } from './entities/Patient';
export type { Patient, PatientProfile, MedicalHistory, EmergencyContact, Allergy, ChronicCondition, CurrentMedication, InsuranceInfo, BillingInfo, PaymentMethod, PrivacySettings, ConsentRecord, PatientPreferences, Child, Guardian, FamilyHistoryItem, PastMedicalCondition, PastSurgery, PastHospitalization, CurrentSymptom, VitalSigns, MedicationHistoryItem, MedicationAllergy, Immunization, LabResult, ImagingResult, SocialHistory, CommunicationPreferences, AppointmentPreferences, ReminderPreferences, PaymentPlan, CreatePatientRequest, UpdatePatientRequest, PatientSearchFilters, PatientSearchResult, PatientStatistics } from './entities/Patient';
export type { PatientId, PatientIdFactory, PatientIdValidator, PatientIdUtils, isPatientId, isValidPatientIdString, PATIENT_ID_FORMATS, DEFAULT_PATIENT_ID_FORMAT, PatientIdExamples } from './value-objects/PatientId';
export { PatientStatus, PatientStatusCategories, PatientStatusPriority, PatientStatusDescriptions, PatientStatusUtils, isPatientStatus, isStatusInCategory, DEFAULT_PATIENT_STATUS, PATIENT_STATUS_TRANSITIONS, PatientStatusExamples } from './enums/PatientStatus';
export type { PatientDomainEvent, PatientRegisteredEvent, PatientUpdatedEvent, PatientStatusChangedEvent, PatientAssignedToDoctorEvent, PatientDischargedEvent, PatientTransferredEvent, PatientMedicalHistoryUpdatedEvent, PatientInsuranceUpdatedEvent, PatientBillingUpdatedEvent, PatientPrivacySettingsUpdatedEvent, PatientConsentRecordedEvent, PatientPreferencesUpdatedEvent, PatientEmergencyContactUpdatedEvent, PatientVitalSignsRecordedEvent, PatientMedicationPrescribedEvent, PatientMedicationDiscontinuedEvent, PatientAllergyRecordedEvent, PatientImmunizationRecordedEvent, PatientLabResultRecordedEvent, PatientImagingResultRecordedEvent, PatientEvent, PatientEventFactory, isPatientRegisteredEvent, isPatientUpdatedEvent, isPatientStatusChangedEvent, isPatientDomainEvent } from './events/PatientDomainEvent';
/**
 * Patient domain utilities for common operations
 */
export declare const PatientDomainUtils: {
    /**
     * Calculate patient age from date of birth
     */
    calculateAge(dateOfBirth: Date): number;
    /**
     * Calculate BMI from height and weight
     */
    calculateBMI(height: number, weight: number): number;
    /**
     * Get BMI category
     */
    getBMICategory(bmi: number): string;
    /**
     * Format patient name
     */
    formatPatientName(firstName: string, lastName: string, middleName?: string): string;
    /**
     * Generate patient code
     */
    generatePatientCode(tenantId: string, sequence: number): string;
    /**
     * Validate patient data
     */
    validatePatientData(patient: {
        firstName: string;
        lastName: string;
        dateOfBirth: Date;
        email?: string;
        phoneNumber?: string;
    }): {
        isValid: boolean;
        errors: string[];
    };
};
/**
 * Type guard to check if a value is a Patient entity
 */
export declare function isPatient(value: unknown): value is Patient;
/**
 * Type guard to check if a value is a PatientProfile
 */
export declare function isPatientProfile(value: unknown): value is PatientProfile;
/**
 * Type guard to check if a value is a MedicalHistory
 */
export declare function isMedicalHistory(value: unknown): value is MedicalHistory;
//# sourceMappingURL=index.d.ts.map