import { CodeModeHostClient } from "./host-client.js"; import type { CodeModeToolDefinition } from "./types.js"; export interface CodeModeToolProvider { getTools(ctx?: unknown): CodeModeToolDefinition[]; documentationPath?: string | undefined; isActive?(ctx: unknown): boolean; providesRenderers?: boolean | undefined; richRendering?(): boolean; } export declare class SharedCodeModeRuntime { readonly providers: Map; private clientPromise; private clientStartupAbort; private customPromptToolsSnapshot; private promptSectionSnapshot; addProvider(provider: CodeModeToolProvider): object; removeProvider(id: object): void; activeProviders(ctx?: unknown): CodeModeToolProvider[]; collectTools(ctx?: unknown): CodeModeToolDefinition[]; refreshPromptTools(ctx?: unknown): CodeModeToolDefinition[]; resetPromptTools(ctx?: unknown): CodeModeToolDefinition[]; collectPromptTools(ctx?: unknown): CodeModeToolDefinition[]; setPromptSection(section: string): void; getPromptSection(): string | undefined; collectRenderTools(): CodeModeToolDefinition[]; useRichRendering(): boolean; getClient(): Promise; prepare(ctx?: unknown): Promise | undefined; shutdownHost(): Promise; }