import { type ToolDefinition } from "@opencode-ai/plugin"; import type { ChorusMcpToolDefinition } from "../chorus/mcp-client"; import { type ChorusToolScope } from "../chorus/tool-scope"; import type { SessionContextRecord, SharedState } from "../state/state-types"; type ChorusLazyBridgeClient = { listTools(): Promise; callTool(name: string, args?: Record, scope?: ChorusToolScope): Promise; }; type CreateChorusLazyBridgeToolsOptions = { chorusClient: ChorusLazyBridgeClient; stateStore?: { readOpenCodeState?(): Promise<{ sessionContext?: SessionContextRecord; mainSession?: { runtimeSessionId?: string; status?: string; }; }>; updateOpenCodeState(updater: (state: Record) => Record): Promise; isActivated?(): boolean; readSharedState?(): Promise<{ context?: { projectUuid?: string; projectName?: string; projectGroupUuid?: string; }; }>; updateSharedState?(updater: (state: SharedState) => SharedState): Promise; }; tui?: { showToast(input: { title?: string; message?: string; variant?: "info" | "success" | "warning" | "error"; duration?: number; }): Promise; }; chorusUrl?: string; /** Chorus-managed staging directory; paths inside it are accepted alongside workspace paths. */ stagingDir?: string; /** Readiness coordinator for on-demand initialization. */ readiness?: { ensureReady(sessionId: string, mode: "visible" | "silent"): Promise; }; }; export type ChorusLazyBridge = { tools: Record; refresh(): Promise; }; export declare function rewriteDocumentArgs(toolName: string, args: Record, directory: string, stagingDir?: string): Promise>; export declare function createChorusLazyBridge(options: CreateChorusLazyBridgeToolsOptions): ChorusLazyBridge; export declare function createChorusLazyBridgeTools(options: CreateChorusLazyBridgeToolsOptions): Record; export declare function normalizeToolArguments(toolName: string, args: Record, inputSchema: Record): Record; export {};