import { RegisterStep, RegisterFlowData, RegisterFlowConfig, getStepDefinition } from '../shared/registerFlow'; import type { AuthMethodType } from '../shared/types'; export interface UseRegisterFlowOptions { /** 账号类型 */ accountType: AuthMethodType; /** 邮箱配置 */ emailConfig?: { enable_email?: boolean; require_email_verification?: boolean; }; /** 手机配置 */ phoneConfig?: { enable_phone_number?: boolean; require_phone_verification?: boolean; }; /** 初始账号 */ initialAccount?: string; /** 步骤变化回调 */ onStepChange?: (step: RegisterStep, data: RegisterFlowData) => void; /** 完成回调 */ onComplete?: (data: RegisterFlowData) => void; } export interface UseRegisterFlowReturn { /** 当前流程数据 */ flowData: RegisterFlowData; /** 当前步骤定义 */ currentStepDef: ReturnType; /** 流程配置 */ flowConfig: RegisterFlowConfig; /** 跳转到指定步骤 */ goToStep: (step: RegisterStep, updates?: Partial) => void; /** 更新流程数据 */ updateFlowData: (updates: Partial) => void; /** 重置流程 */ resetFlow: () => void; /** 处理错误 */ handleError: (code: string, message: string, targetStep?: RegisterStep) => void; } export declare function useRegisterFlow(options: UseRegisterFlowOptions): UseRegisterFlowReturn;