interface ProjectDetails { mcp_enabled: boolean; webmcp_enabled: boolean; mcp_server_name: string; mcp_metadata_tag: string; } export interface WebMCPService { getProjectDetails(signal?: AbortSignal): Promise; webMCPSearch(query: string, filterTitle: string, signal?: AbortSignal, limit?: number): Promise; webMCPGetDocument(documentId: string, cursor: string, limit: number, signal?: AbortSignal): Promise; webMCPAsk(message: string, metadata: string, signal?: AbortSignal): Promise; } interface Tool { name: string; description: string; inputSchema: Record; annotations: { readOnlyHint: boolean; untrustedContentHint: boolean; }; execute(input: Record, options?: { signal?: AbortSignal; }): Promise; } export interface ModelContext { registerTool(tool: Tool, options: { signal: AbortSignal; }): Promise | void; } export interface WebMCPDocument { modelContext?: ModelContext; } /** Share page tools across embeds with the same backend and credentials. */ export declare function connectWebMCP(options: { document: WebMCPDocument; project: string; apiUrl: string; apiKey: string; service: WebMCPService; canAsk: () => boolean; }): () => void; export {};