import { PatientCaseEncounterWithCharts } from '@mesalvo/ts-definitions';
import { PatientInfo } from '../../../providers';
interface SelectorOption {
    id: string;
    label: string;
}
type Step = "profile" | "location" | "patient" | "complete";
interface UseStepHandlersProps {
    /** Callback to set the current step */
    onStepChange: (step: Step) => void;
    /** Callback to set profile ID */
    onProfileChange: (profileId: string) => void;
    /** Callback to set location ID */
    onLocationChange: (locationId: string) => void;
    /** Callback to set patient ID with optional info */
    onPatientChange: (patientId: string, patientInfo?: PatientInfo) => void;
    /** Callback when step is complete */
    onComplete?: () => void;
    /** Current step */
    currentStep: Step;
    /** Raw patient data for extracting full patient info */
    patientsRaw: PatientCaseEncounterWithCharts[];
    /** Callback to allow/disable auto-advance */
    onAllowAutoAdvanceChange: (allow: boolean) => void;
}
interface StepHandlers {
    handleProfileChange: (option: SelectorOption | null) => void;
    handleLocationChange: (option: SelectorOption | null) => void;
    handlePatientChange: (option: SelectorOption | null) => void;
    handleBack: () => void;
}
/**
 * Hook that manages all step change handlers for multi-step selector
 * Handles profile, location, and patient selection with auto-advance control
 */
export declare const useStepHandlers: ({ onStepChange, onProfileChange, onLocationChange, onPatientChange, onComplete, currentStep, patientsRaw, onAllowAutoAdvanceChange, }: UseStepHandlersProps) => StepHandlers;
export {};
//# sourceMappingURL=useStepHandlers.d.ts.map