import { DeviceHello, DeviceInstallLog, PairRecordPayload } from '../types'; import { RelayClient } from './relay-client'; import { UsbmuxSession } from './usbmux'; import { UsbmuxCandidate } from './webusb'; export type DeviceRelayTarget = { device: USBDevice; candidate: UsbmuxCandidate; session?: UsbmuxSession; claimedInterfaceNumber?: number; hello: DeviceHello; }; export type RequestUSBAccessOptions = { log: DeviceInstallLog; }; export type StartPairingRelayOptions = { limbuildApiUrl: string; token?: string; log: DeviceInstallLog; target: DeviceRelayTarget; }; export type StartInstallRelayOptions = StartPairingRelayOptions & { pairRecord: PairRecordPayload; }; export declare function requestUSBAccess({ log }: RequestUSBAccessOptions): Promise; export declare function startPairingRelay({ limbuildApiUrl, token, log, target }: StartPairingRelayOptions): Promise<{ relay: RelayClient; pairRecord: PairRecordPayload; target: DeviceRelayTarget; }>; export declare function startInstallRelay({ limbuildApiUrl, token, log, target, pairRecord, }: StartInstallRelayOptions): Promise; export declare function closeDeviceRelayTarget(target: DeviceRelayTarget | undefined, log?: DeviceInstallLog): Promise; export declare function deviceRelayWebSocketUrl(limbuildApiUrl: string, token?: string): string;