import type * as monaco from "monaco-editor/esm/vs/editor/editor.api"; import { Document as DocumentInfo } from "./api/proto/exa/language_server_pb/language_server_pb"; import { PromiseClient } from "@connectrpc/connect"; import { Status } from "./Status"; import { MonacoCompletionProvider } from "./CompletionProvider"; import { LanguageServerService } from "./api/proto/exa/language_server_pb/language_server_connect"; declare module "monaco-editor" { namespace editor { interface ICodeEditor { _commandService: { executeCommand(command: string): unknown; }; } } } export declare class InlineCompletionProvider implements monaco.languages.InlineCompletionsProvider { readonly setCompletionCount: (count: number) => void; readonly getEditorDocuments: (currentEditorModel: monaco.editor.ITextModel) => DocumentInfo[]; private numCompletionsProvided; readonly completionProvider: MonacoCompletionProvider; constructor(grpcClient: PromiseClient, setCompletionCount: (count: number) => void, setCodeiumStatus: (status: Status) => void, setCodeiumStatusMessage: (message: string) => void, getEditorDocuments: (currentEditorModel: monaco.editor.ITextModel) => DocumentInfo[], apiKey?: string | undefined); freeInlineCompletions(): void; provideInlineCompletions(model: monaco.editor.ITextModel, position: monaco.Position, _context: monaco.languages.InlineCompletionContext, token: monaco.CancellationToken): Promise | undefined>; acceptedLastCompletion(completionId: string): void; updateOtherDocuments(otherDocuments: DocumentInfo[]): void; }