import { type ToolDefinition } from "@opencode-ai/plugin"; import type { SessionContextRecord, SharedState } from "../state/state-types"; type WorkspaceContextStateStore = { readOpenCodeState?(): Promise<{ sessionContext?: SessionContextRecord; }>; readSharedState(): Promise; updateSharedState(updater: (state: SharedState) => SharedState): Promise; }; type WorkspaceContextClient = { callTool(name: string, args?: Record): Promise; }; type WorkspaceContextTui = { showToast(input: { title?: string; message?: string; variant?: "info" | "success" | "warning" | "error"; duration?: number; }): Promise; }; type CreateWorkspaceContextToolOptions = { chorusClient: WorkspaceContextClient; stateStore?: WorkspaceContextStateStore; tui?: WorkspaceContextTui; beforeExecute?: (args: { action: "bind_project" | "unbind_project" | "show"; projectUuid?: string; }, ctx: { agent: string; sessionID: string; }) => Promise; }; export declare function createWorkspaceContextTool(options: CreateWorkspaceContextToolOptions): ToolDefinition; export {};