import * as core from "@keepkey/hdwallet-core"; import { KeepKeyHDWallet } from "./keepkey"; import { TransportDelegate } from "./transport"; export interface AdapterConstructor> { new (keyring: core.Keyring): Adapter; useKeyring(keyring: core.Keyring): Adapter; } export type DeviceProperties = { productName: string; serialNumber: string; }; export interface AdapterDelegate { inspectDevice?(device: DeviceType): Promise>; getDevice?(serialNumber?: string): Promise; getDevices?(): Promise>; getTransportDelegate(device: DeviceType): Promise; registerCallbacks?(handleConnect: (device: DeviceType) => void, handleDisconnect: (device: DeviceType) => void): void; } export type DeviceType> = T extends AdapterDelegate ? R : never; export declare class Adapter> { keyring: core.Keyring; delegate: DelegateType; private constructor(); static fromDelegate>(delegate: DelegateType): AdapterConstructor; static inspectDevice>(delegate: DelegateType, device: DeviceType): Promise; inspectDevice(device: DeviceType): Promise; private handleConnect; private handleDisconnect; initialize(devices?: Array>, tryDebugLink?: boolean, autoConnect?: boolean): Promise; getDevice(serialNumber?: string): Promise>; getDevices(): Promise>>; getTransportDelegate(device: DeviceType): Promise; pairDevice(serialNumber?: string, tryDebugLink?: boolean): Promise; pairRawDevice(device: DeviceType, tryDebugLink?: boolean): Promise; } //# sourceMappingURL=adapter.d.ts.map