import type { AgentNativeBrowserSessionRecord, AgentNativeBrowserSessionRequest } from "../browser-sessions/types.js"; import { type AgentNativeClientActions, type AgentNativeHostRequestOptions, type AgentNativeHostCommandHandlers, type AgentNativeHostContextGetter, type AgentNativeHostSession } from "./host-bridge.js"; import type { AgentNativeWebMcpClient } from "./webmcp.js"; export interface AgentNativeBrowserSessionBridgeOptions extends AgentNativeHostRequestOptions { endpoint?: string; sessionId?: string; session?: string | Partial; getContext?: AgentNativeHostContextGetter; actions?: AgentNativeClientActions; webmcp?: AgentNativeWebMcpClient | "host"; commands?: AgentNativeHostCommandHandlers; origin?: string; label?: string; heartbeatMs?: number; pollMs?: number; ttlMs?: number; fetch?: typeof fetch; onError?: (error: unknown, source: AgentNativeBrowserSessionBridgeErrorSource) => void; } export type AgentNativeBrowserSessionBridgeErrorSource = "heartbeat" | "poll"; export interface AgentNativeBrowserSessionBridge { readonly sessionId: string | null; start(): AgentNativeBrowserSessionBridge; stop(): void; refreshRegistration(): Promise; claimOnce(): Promise; } export declare function createAgentNativeBrowserSessionBridge(options?: AgentNativeBrowserSessionBridgeOptions): AgentNativeBrowserSessionBridge; export declare function startAgentNativeBrowserSessionBridge(options?: AgentNativeBrowserSessionBridgeOptions): AgentNativeBrowserSessionBridge;