import type { DeviceConnectionItem, LocalPeripheralBinding, PeripheralConnectionRow, PeripheralConnectParams, PeripheralConnectStatus, PeripheralConnectTarget, PeripheralConnectType, PeripheralDevice, PeripheralFindListParams, PeripheralUsage } from '../types';
export declare const TESTABLE_PRINTER_TYPES: string[];
export declare const PERIPHERAL_TABLE_NAME = "peripheral_bindings";
export declare const isRecord: (value: unknown) => value is Record<string, unknown>;
export declare const normalizeConnectType: (value?: string) => PeripheralConnectType | undefined;
export declare const getPeripheralUuid: (connection: DeviceConnectionItem) => string;
export declare const getPeripheralIp: (connection: DeviceConnectionItem) => string;
export declare const getPhysicalDeviceDisplay: (device?: PeripheralDevice) => string;
export declare const getConnectionDeviceIdentity: (connection: DeviceConnectionItem) => Pick<PeripheralFindListParams, 'deviceBrand' | 'deviceType' | 'connectType'> | undefined;
export declare const buildPeripheralConnectParams: (connection: DeviceConnectionItem, target: PeripheralDevice | PeripheralConnectTarget) => PeripheralConnectParams | undefined;
export declare const buildFindListParams: (connection: DeviceConnectionItem, connectStatus: PeripheralConnectStatus, uuid?: string) => PeripheralFindListParams | undefined;
export declare const uniquePeripheralDevices: (devices: PeripheralDevice[]) => PeripheralDevice[];
export declare const getPhysicalDeviceFromConnection: (connection: DeviceConnectionItem) => PeripheralDevice | undefined;
export declare const createLocalPeripheralBinding: (connection: DeviceConnectionItem, physicalDevice?: PeripheralDevice, peripheralUsage?: PeripheralUsage) => LocalPeripheralBinding;
/** 用接口 item 和本地缓存轻量组装渲染 row，不转换后端字段命名。 */
export declare const createPeripheralRow: (connection: DeviceConnectionItem, localBinding?: LocalPeripheralBinding) => PeripheralConnectionRow;
/** 刷新连接列表时只替换云端字段，保留已有 physical/usage 实现数据隔离。 */
export declare const mergeConnectionRows: (prevRows: PeripheralConnectionRow[], nextConnections: DeviceConnectionItem[], localBindingMap?: Record<number, LocalPeripheralBinding>) => PeripheralConnectionRow[];
