import type { StepChangeResult } from '../types'; import type { PisellStepsProps } from '../../PisellSteps/types'; /** * useStepManager Hook 配置 */ export interface UseStepManagerOptions { /** 步骤条配置 */ stepsProps?: PisellStepsProps; /** 初始步骤索引 */ defaultCurrent?: number; /** 上一步事件回调 */ onPrev?: (current: number) => boolean | void; /** 下一步事件回调 */ onNext?: (current: number) => boolean | void; /** 步骤变化回调 */ onStepsChange?: (result: StepChangeResult) => void; /** 跳转到指定步骤 */ goToStep?: (step: number) => void; } /** * useStepManager Hook 返回值 */ export interface UseStepManagerReturn { /** 当前步骤索引 */ currentStep: number; /** 步骤列表 */ items: any[]; /** 步骤总数 */ totalSteps: number; /** 上一步 */ goPrev: () => StepChangeResult | null; /** 下一步 */ goNext: () => StepChangeResult | null; /** 跳转到指定步骤 */ goToStep: (step: number) => StepChangeResult | null; } /** * 步骤管理 Hook * * @description 管理多步骤流程的状态和操作 * @example * const { currentStep, goPrev, goNext } = useStepManager({ * stepsProps: { items: [...] }, * defaultCurrent: 0, * onPrev: (current) => { ... }, * onNext: (current) => { ... }, * onStepsChange: (result) => { ... }, * }); */ export declare const useStepManager: ({ stepsProps, defaultCurrent, onPrev, onNext, onStepsChange, }: UseStepManagerOptions) => UseStepManagerReturn;