import type { PeripheralConnectionRow, PeripheralDevice, LocalPeripheralBinding, PeripheralPlugin, SetupFlowState } from '../types'; declare type SetupFlowMap = Record; interface UsePeripheralSetupFlowParams { rows: PeripheralConnectionRow[]; getAppInstance: () => any; getPeripheralPlugin: () => PeripheralPlugin | undefined; addPageLog: (title: string, metadata?: Record, type?: 'info' | 'error') => void; applySyncedBinding: (row: PeripheralConnectionRow, physical: PeripheralDevice, binding: LocalPeripheralBinding) => void; } /** * 管理外设设置流程。 * * 该 hook 是发现、校准、搜索和自动打开选择弹窗的唯一状态源; * 页面组件只负责把当前行和流程状态传给卡片容器。 */ export declare const usePeripheralSetupFlow: ({ rows, getAppInstance, getPeripheralPlugin, addPageLog, applySyncedBinding, }: UsePeripheralSetupFlowParams) => { setupFlowMap: SetupFlowMap; patchSetupFlow: (this: unknown, rowId: number, nextState: SetupFlowState) => void; requestAutoOpenPhysicalSelect: (this: unknown, connectionId?: number | undefined) => void; clearAutoOpenPhysicalSelect: (this: unknown, connectionId?: number | undefined) => void; autoOpenPhysicalSelectRowId: number | undefined; }; export {};