// src/backend-contract/host/web.ts import type { ScanFilter } from '../advertisement' import type { BackendProvider, HostNeutralBackendIdentity } from '../identity' import type { PublicOperationOptions } from '../operations' import type { PeerId, Uuid } from '../primitives' export interface ChooserRequest { readonly filters: readonly ScanFilter[] readonly acceptAllDevices: boolean readonly optionalServices: readonly Uuid[] } export interface ChooserSelection { readonly peerId: PeerId readonly grantedServices: readonly Uuid[] } export interface WebChooser { choose(request: ChooserRequest, options: PublicOperationOptions): Promise> } export interface WebHost { readonly provider: BackendProvider> readonly chooser: WebChooser }