export type UsbEndpoint = { endpointNumber: number; direction: 'in' | 'out'; type: string; packetSize: number; }; export type UsbmuxCandidate = { configurationValue: number; interfaceNumber: number; alternateSetting: number; endpoints: UsbEndpoint[]; }; export declare function requestAppleDevice(): Promise; export declare function findUsbmuxCandidates(device: USBDevice): UsbmuxCandidate[]; export declare function claimUsbmux(device: USBDevice, candidate: UsbmuxCandidate): Promise; export declare function getBulkEndpoints(candidate: UsbmuxCandidate): { outEndpoint: UsbEndpoint; inEndpoint: UsbEndpoint; }; export declare function transferOutWithZlp(device: USBDevice, endpoint: UsbEndpoint, bytes: Uint8Array): Promise; export declare function transferIn(device: USBDevice, endpoint: UsbEndpoint, size?: number): Promise>;