import type { LocalPeripheralBinding, PeripheralConnectionRow, PeripheralDevice, PeripheralUsage } from '../types';
interface UsePeripheralRuntimeParams {
    /** 当前卡片的渲染行模型，接口事实和物理运行态已经在渲染行中隔离。 */
    row: PeripheralConnectionRow;
    getAppInstance: () => any;
    getText: (key: string) => string;
    /** 连接动作得到物理设备状态后回写父级渲染行。 */
    onPhysicalChange: (rowId: number, physical?: PeripheralDevice) => void;
    /** 业务用途写入 SQLite 后回写父级渲染行。 */
    onUsageChange: (rowId: number, usage?: PeripheralUsage) => void;
}
interface ConnectOptions {
    silent?: boolean;
}
export declare const usePeripheralRuntime: ({ row, getAppInstance, getText, onPhysicalChange, onUsageChange, }: UsePeripheralRuntimeParams) => {
    isRuntimeSubmitting: boolean;
    connectKnownPhysicalDevice: (targetRow: PeripheralConnectionRow, options?: ConnectOptions) => Promise<{
        physicalDevice: PeripheralDevice;
        binding: LocalPeripheralBinding;
    }>;
    handleRemovePeripheral: (targetRow: PeripheralConnectionRow) => Promise<void>;
    handleUpdatePeripheralUsage: (targetRow: PeripheralConnectionRow, usage: PeripheralUsage) => Promise<void>;
    connectSelectedPhysicalDevice: (targetRow: PeripheralConnectionRow, physicalDevice: PeripheralDevice) => Promise<{
        binding: LocalPeripheralBinding;
        physicalDevice: PeripheralDevice;
    }>;
    saveConnectedPhysicalDevice: (targetRow: PeripheralConnectionRow, physicalDevice: PeripheralDevice, peripheralUsage?: PeripheralUsage) => Promise<{
        binding: LocalPeripheralBinding;
        physicalDevice: PeripheralDevice;
    }>;
};
export {};
