import { type ClientFrame } from "../protocol/v2/index.js"; import type { RelayClient } from "../transport/relay_client.js"; import { type HostRouteIdentity } from "../transport/peer_channel.js"; export interface OwnerRouterDependencies { isCurrent(relay: RelayClient): boolean; routeIdentity(): HostRouteIdentity; hasOwner(ownerId: string): boolean; findKnownOwner(ownerId: string): Promise; attachOwner(relay: RelayClient, ownerId: string): void; routeClientFrame(ownerId: string, frame: ClientFrame): void; handlePairRequest(relay: RelayClient, ownerId: string, frame: Extract): Promise; } /** Routes unbound Owner frames without duplicating bound peer-channel traffic. */ export declare function installOwnerRouter(relay: RelayClient, deps: OwnerRouterDependencies): () => void;