import { default as StepperTypeMap } from './StepperTypeMap';
/**
 * Optional configuration for `useStepper`.
 * All fields are optional — omitting them preserves existing behavior.
 */
export type UseStepperConfig<TDataMap extends StepperTypeMap = StepperTypeMap> = {
    /**
     * Pre-populate the data store. Useful for restoring persisted wizard state.
     * Keys must match step ids defined in the steps array.
     */
    initialData?: Partial<Record<keyof TDataMap, unknown>>;
    /**
     * Called whenever `setStepData` updates any step's stored data.
     * Receives the full current data store snapshot.
     */
    onDataChange?: (data: Partial<Record<keyof TDataMap, unknown>>) => void;
    /**
     * Called whenever the active step index changes (goNext, goBack, goTo, reset).
     * NOT called when navigation is blocked by a guard returning false.
     */
    onStepChange?: (activeStep: number) => void;
};
