import { CesiumToolContract, CesiumToolsetSelection, CesiumResourceStore, CesiumResourceStoreOptions } from 'cesium-mcp-contracts'; export { CesiumBrowserToolset, CesiumBrowserToolsetDefinition, CesiumBrowserToolsetName, CesiumResourceKind, CesiumResourceMetadata, CesiumResourceStore, CesiumResourceStoreOptions, CesiumToolAnnotations, CesiumToolContract, CesiumToolsetSelection, JsonSchema, cesiumBrowserToolContracts, cesiumBrowserToolsetDefinitions, cesiumBrowserToolsetNames, cesiumBrowserToolsets, cesiumCoreToolContracts, cesiumResourceToolContracts, cesiumSharedToolNames, createCesiumResourceStore, selectCesiumToolContracts } from 'cesium-mcp-contracts'; interface CesiumWebMcpCommand { action: string; params: Record; } interface CesiumWebMcpExecutor { execute(command: CesiumWebMcpCommand, context?: WebMcpExecutionContext): unknown | Promise; } interface WebMcpExecutionContext { signal?: AbortSignal; } interface WebMcpRegisteredTool { name: string; title?: string; description: string; inputSchema?: Record; outputSchema?: Record; annotations?: { readOnlyHint?: boolean; untrustedContentHint?: boolean; }; execute(input: Record, context?: WebMcpExecutionContext): unknown | Promise; } interface WebMcpRegisterToolOptions { signal?: AbortSignal; exposedTo?: string[]; } interface WebMcpModelContext { registerTool(tool: WebMcpRegisteredTool, options?: WebMcpRegisterToolOptions): Promise; } interface WebMcpDocument { modelContext?: WebMcpModelContext; } interface RegisterWebMcpToolsOptions { modelContext?: WebMcpModelContext; document?: WebMcpDocument; signal?: AbortSignal; exposedTo?: string[]; } interface RegisterCesiumWebMcpOptions extends RegisterWebMcpToolsOptions { tools?: readonly CesiumToolContract[]; toolsets?: CesiumToolsetSelection; excludeTools?: readonly string[]; /** Opt in to page-local resource tools and resourceId resolution. */ enableResources?: boolean; /** Use an application-owned store; also enables resource tools. */ resourceStore?: CesiumResourceStore; resourceStoreOptions?: CesiumResourceStoreOptions; } type BuildCesiumWebMcpToolsOptions = Pick; interface WebMcpRegistration { registered: string[]; signal: AbortSignal; resourceStore?: CesiumResourceStore; unregister(): void; } declare function createResourceAwareExecutor(executor: CesiumWebMcpExecutor, resourceStore: CesiumResourceStore): CesiumWebMcpExecutor; declare function isWebMcpSupported(documentRef?: WebMcpDocument): boolean; declare function buildWebMcpTools(executor: CesiumWebMcpExecutor, tools: readonly CesiumToolContract[]): WebMcpRegisteredTool[]; declare function registerWebMcpTools(executor: CesiumWebMcpExecutor, tools: readonly CesiumToolContract[], options?: RegisterWebMcpToolsOptions): Promise; declare function buildCesiumWebMcpTools(executor: CesiumWebMcpExecutor, options?: BuildCesiumWebMcpToolsOptions): WebMcpRegisteredTool[]; declare function registerCesiumWebMcp(executor: CesiumWebMcpExecutor, options?: RegisterCesiumWebMcpOptions): Promise; export { type BuildCesiumWebMcpToolsOptions, type CesiumWebMcpCommand, type CesiumWebMcpExecutor, type RegisterCesiumWebMcpOptions, type RegisterWebMcpToolsOptions, type WebMcpDocument, type WebMcpExecutionContext, type WebMcpModelContext, type WebMcpRegisterToolOptions, type WebMcpRegisteredTool, type WebMcpRegistration, buildCesiumWebMcpTools, buildWebMcpTools, createResourceAwareExecutor, isWebMcpSupported, registerCesiumWebMcp, registerWebMcpTools };