import type { Context } from "@earendil-works/chord"; import { type ConversationDocToken, type Extension, type Harness, type JsonObject, type Registry } from "@earendil-works/pi-durable"; import { type Config } from "./config.js"; import { McpRuntime, type ConnectFactory } from "./runtime.js"; import type { ElicitationUI } from "./elicitation.js"; export type ActivatedMcpState = { tools: Record; }; export declare const ActivatedMcpTools: ConversationDocToken; export interface DurableMcpOptions { registry: Registry; cwd?: string; agentDir?: string; /** Project configuration is ignored unless the host has obtained trust. */ trustProject?: boolean; config?: Config; connect?: ConnectFactory; ui?: ElicitationUI; onWarning?(message: string): void; } export interface DurableMcpClient { extension: Extension; runtime: McpRuntime; restore(harness: Harness, context: Context): Promise; close(): Promise; } /** Native tools and activations are restored before the host resumes the scheduler. */ export declare function createMcpExtension(options: DurableMcpOptions): Promise;