import { type OnboardingState } from '../../utils/onboarding-storage';
export interface OnboardingStepConfig {
    id: string;
    title: string;
    description: string;
    actionIcon: (color?: string) => React.ReactNode;
    actionText: string;
    completedText: string;
    onAction: () => void | Promise<void>;
    onSkip?: () => void;
    checkComplete?: () => boolean | Promise<boolean>;
}
export type { OnboardingState };
/**
 * Hook for managing onboarding state with localStorage persistence
 * Uses simple storage utilities for atomic updates and reliable re-renders
 */
export declare function useOnboardingState(storageKey?: string): {
    state: OnboardingState;
    markComplete: (stepId: string) => void;
    markSkipped: (stepId: string) => void;
    dismissOnboarding: () => void;
    isStepComplete: (stepId: string) => boolean;
    isStepSkipped: (stepId: string) => boolean;
    allStepsComplete: (steps: OnboardingStepConfig[]) => boolean;
    markMultipleComplete: (stepIds: string[]) => void;
};
//# sourceMappingURL=use-onboarding-state.d.ts.map