export class ManagedHostBrowserConnection { start(): Promise | null; fetch(input: RequestInfo | URL, init?: RequestInit): Promise; status(): Record; close(): Promise; setTicketProvider(ticketProvider: ManagedHostTicketProvider | null): void; subscribeStatus( listener: (status: Record) => void, options?: { includeSelectedWebRtcPath?: boolean } ): () => void; } export class DirectHostBrowserConnection { start(): null; fetch(input: RequestInfo | URL, init?: RequestInit): Promise; status(): Record; close(): Promise; subscribeStatus( listener: (status: Record) => void, options?: { includeSelectedWebRtcPath?: boolean } ): () => void; } export type ManagedHostTicketProvider = (input: { configuration: Record; connectionAttemptId: string; dtlsFingerprintSha256: string; }) => Promise<{ credential: string; client_authority_kind: "app_installation" | "host_owner_browser"; }>; export function classifyManagedHostBrowserOrigin(value?: string | URL): { kind: "managed_endpoint" | "direct_host"; managed_transport_enabled: boolean; }; export type ManagedWebRtcSelectedPath = | "lan" | "stun_direct" | "turn_udp" | "turn_tcp_tls" | "ipv6"; export function normalizeManagedWebRtcSelectedPath( value: unknown ): ManagedWebRtcSelectedPath | null; export function readManagedWebRtcSelectedPath( hostStatus: unknown, connectionId: string ): ManagedWebRtcSelectedPath | null; export function getManagedHostBrowserConnection(): | ManagedHostBrowserConnection | DirectHostBrowserConnection; export function configureManagedHostTicketProvider( ticketProvider: ManagedHostTicketProvider | null ): void; export function startManagedHostConnection(): Promise | null; export function managedHostFetch( input: RequestInfo | URL, init?: RequestInit ): Promise; export function managedRequest( input: RequestInfo | URL, init?: RequestInit ): Promise; export type ManagedBlobUploadInit = Omit & { body: Blob | ArrayBuffer | Uint8Array | FormData; onProgress?: ((progress: { loaded: number; total: number }) => void) | null; }; export function managedBlobUpload( input: RequestInfo | URL, init: ManagedBlobUploadInit ): Promise; export function managedBlobDownload( input: RequestInfo | URL, init?: RequestInit ): Promise; export function managedMediaObjectUrl( input: RequestInfo | URL, init?: RequestInit ): Promise<{ blob: Blob; url: string; revoke(): void }>; export function waitForManagedHostAvailability(): Promise; export function getManagedHostConnectionStatus(): Record; export function subscribeManagedHostConnectionStatus( listener: (status: Record) => void, options?: { includeSelectedWebRtcPath?: boolean } ): () => void;