import { Option } from '../Select/Select';
/**
 * Base option format for select components
 */
export type SelectOption = Option;
/**
 * Internal step data option format
 * Combines id + label for internal use
 */
export interface StepOption {
    id: string;
    label: string;
}
/**
 * UI-compatible option format that extends SelectOption
 * Adds 'id' property to SelectOption which uses 'value'
 */
export type SelectOptionWithId = SelectOption & {
    id: string;
};
/**
 * Step data structure used throughout the component
 */
export interface StepData {
    options: SelectOptionWithId[];
    selected: SelectOptionWithId | null;
    isLoading: boolean;
    hasError: boolean;
    id: string;
}
/**
 * Generic step data for flexible use
 */
export interface Steps {
    profile: StepData;
    location: StepData;
    patient: StepData;
}
/**
 * Generic handler type for step change handlers
 */
export type StepChangeHandler = (option: SelectOptionWithId | null) => void;
/**
 * Helper function to convert internal StepOption to SelectOptionWithId
 */
export declare const toSelectOptionWithId: (option: StepOption, id?: string) => SelectOptionWithId;
/**
 * Helper function to safely find and convert an option
 */
export declare const findAndConvertOption: (options: StepOption[], id: string | undefined) => SelectOptionWithId | null;
//# sourceMappingURL=types.d.ts.map