/** * [WHO]: Provides createLSPTool() * [FROM]: Depends on @sinclair/typebox, ./lsp-server-manager, ./lsp-formatters, ./types, node:fs, node:path * [TO]: Consumed by ./index.ts * [HERE]: extensions/builtin/lsp/lsp-tool.ts - LSP tool definition with TypeBox schema for 9 operations */ import { type Static } from "@sinclair/typebox"; import type { LSPServerManager } from "./lsp-server-manager.js"; import { type LSPToolOutput } from "./types.js"; declare const lspSchema: import("@sinclair/typebox").TObject<{ operation: import("@sinclair/typebox").TUnion[]>; filePath: import("@sinclair/typebox").TString; line: import("@sinclair/typebox").TInteger; character: import("@sinclair/typebox").TInteger; }>; export type LSPInput = Static; export declare function createLSPTool(manager: LSPServerManager, cwd: string): { name: string; label: string; description: string; parameters: typeof lspSchema; isConcurrencySafe: true; isReadOnly: true; guidance: string; execute: (toolCallId: string, params: LSPInput, signal?: AbortSignal) => Promise<{ content: Array<{ type: "text"; text: string; }>; details: LSPToolOutput | undefined; }>; }; export {};