import { OnboardingEngine, OnboardingEngineConfig, OnboardingContext as OnboardingContextType } from '@onboardjs/core'; export interface EngineActions { next: (stepSpecificData?: Record) => Promise; previous: () => Promise; skip: () => Promise; goToStep: (stepId: string, stepSpecificData?: Record) => Promise; updateContext: (newContextData: Partial) => Promise; reset: (newConfig?: Partial>) => Promise; } export interface UseEngineActionsConfig { engine: OnboardingEngine | null; isEngineReady: boolean; stepData: { data: unknown; isValid: boolean; }; /** * Callback to update engine processing state. * Called with `true` when an engine action starts, `false` when it completes. */ onEngineProcessingChange: (processing: boolean) => void; } /** * Wraps engine methods with loading state management. * Single responsibility: action execution with engine processing state. * * Sets `isEngineProcessing` to true during async operations like: * - Navigation (next, previous, skip, goToStep) * - Context updates * - Engine reset */ export declare function useEngineActions(config: UseEngineActionsConfig): EngineActions;