import { type BridgeSessionSnapshot } from "./protocol.js"; interface BridgeExecutableTool { name: string; label?: string; description?: string; parameters?: unknown; execute: (toolCallId: string, params: unknown, signal?: AbortSignal) => Promise; } interface BridgeAdapter { tools: BridgeExecutableTool[]; appName?: string; appVersion?: string; metadataTag?: string; getDocumentId: () => Promise; getDocumentMetadata?: () => Promise<{ metadata: object; nameMap?: Record; } | null>; onToolResult?: (toolCallId: string, result: string, isError: boolean) => void; } interface BridgeVfsAdapter { snapshot: () => Promise<{ path: string; data: Uint8Array; }[]>; readFile: (path: string) => Promise; readFileBuffer: (path: string) => Promise; writeFile: (path: string, content: string | Uint8Array) => Promise; deleteFile: (path: string) => Promise; } export interface OfficeBridgeClientOptions { app: string; adapter: BridgeAdapter; vfs?: BridgeVfsAdapter; enabled?: boolean; serverUrl?: string; reconnectBaseMs?: number; reconnectMaxMs?: number; forwardConsole?: boolean; exposeGlobal?: boolean; } export interface OfficeBridgeController { readonly enabled: boolean; readonly instanceId: string; refresh: () => Promise; stop: () => void; } export declare function startOfficeBridge(options: OfficeBridgeClientOptions): OfficeBridgeController; export {}; //# sourceMappingURL=client.d.ts.map