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;
