export type WebViewHostSessionIdentity = { connectionId: string; epoch: number; generation: number; }; type WebViewHostSessionState = "awaitingActivation" | "awaitingConnection" | "connected" | "closed"; type WebViewHostSessionSnapshot = { connection: WebViewHostSessionIdentity | null; epoch: number; state: WebViewHostSessionState; }; type WebViewHostSessionAcceptance = "accepted" | "duplicate" | "rejected"; export type WebViewHostSessionController = { getSnapshot: () => WebViewHostSessionSnapshot; advanceEpoch: () => number; acceptConnection: (identity: WebViewHostSessionIdentity) => WebViewHostSessionAcceptance; confirmActivation: (identity: WebViewHostSessionIdentity) => WebViewHostSessionAcceptance; isCurrentConnection: (identity: WebViewHostSessionIdentity) => boolean; close: () => void; }; export declare function createWebViewHostSessionController(): WebViewHostSessionController; export {};