/** * useSetupWizard Hook * * Manages the state machine for the setup wizard. * * @since v1.43.1 */ import type { ServerJarType } from '../../core/server-jar/index.js'; import type { Plugin } from '../../core/types/index.js'; import { type FeatureSettings, type NotificationSettings, type PanelSettings, type SetupConfig, type SetupWizardState, type WizardStep } from '../components/wizard/wizard-types.js'; export interface UseSetupWizardOptions { /** Initial state (for persistence across remounts) */ initialState?: Partial; /** Called when wizard state changes (for persistence) */ onStateChange?: (state: SetupWizardState) => void; /** Function to scan a directory for plugins */ scanPlugins?: (path: string) => Promise; /** Called when setup is complete */ onComplete: (config: SetupConfig) => void; } export interface SetupWizardHookResult { step: WizardStep; currentStepIndex: number; prodPath: string; setProdPath: (path: string) => void; testPath: string; setTestPath: (path: string) => void; mcVersion: string; setMcVersion: (version: string) => void; mcVersions: string[]; versionsLoading: boolean; serverType: ServerJarType; setServerType: (type: ServerJarType) => void; serverJarDefault: 'prod' | 'test'; setServerJarDefault: (value: 'prod' | 'test') => void; features: FeatureSettings; setFeatures: (settings: FeatureSettings) => void; panel: PanelSettings; setPanel: (settings: PanelSettings) => void; notifications: NotificationSettings; setNotifications: (settings: NotificationSettings) => void; scannedProdPlugins: Plugin[]; scannedTestPlugins: Plugin[]; scanError: string | null; goToStep: (step: WizardStep) => void; goToNextStep: () => void; goToPreviousStep: () => void; completeWizard: () => void; } /** * Hook to manage setup wizard state machine */ export declare function useSetupWizard({ initialState, onStateChange, scanPlugins, onComplete }: UseSetupWizardOptions): SetupWizardHookResult; //# sourceMappingURL=useSetupWizard.d.ts.map