import { SourceChange } from '@jupyter/ydoc'; import { ILSPCompletionThemeManager } from '@jupyter-lsp/completion-theme'; import { CodeEditor } from '@jupyterlab/codeeditor'; import { ICompletionProvider, CompletionHandler, ICompletionContext, Completer } from '@jupyterlab/completer'; import { ILSPDocumentConnectionManager } from '@jupyterlab/lsp'; import { IRenderMimeRegistry } from '@jupyterlab/rendermime'; import type * as lsProtocol from 'vscode-languageserver-protocol'; import { CodeCompletion as LSPCompletionSettings } from '../../_completion'; import { FeatureSettings } from '../../feature'; import { CompletionTriggerKind } from '../../lsp'; import { ILSPLogConsole } from '../../tokens'; import { BrowserConsole } from '../../virtual/console'; import { CompletionItem } from './item'; import { LSPCompletionRenderer } from './renderer'; interface IOptions { settings: FeatureSettings; renderMimeRegistry: IRenderMimeRegistry; iconsThemeManager: ILSPCompletionThemeManager; connectionManager: ILSPDocumentConnectionManager; } export declare class CompletionProvider implements ICompletionProvider { protected options: IOptions; readonly identifier = "lsp"; readonly label = "LSP"; readonly rank = 1000; protected console: BrowserConsole; constructor(options: IOptions); renderer: LSPCompletionRenderer; modelFactory: (context: ICompletionContext) => Promise; /** * Resolve (fetch) details such as documentation. */ resolve(completionItem: CompletionItem): Promise; shouldShowContinuousHint(completerIsVisible: boolean, changed: SourceChange, context?: ICompletionContext): boolean; fetch(request: CompletionHandler.IRequest, context: ICompletionContext, trigger?: CompletionTriggerKind): Promise>; isApplicable(context: ICompletionContext): Promise; } export declare function transformLSPCompletions(token: CodeEditor.IToken, positionInToken: number, lspCompletionItems: lsProtocol.CompletionItem[], createCompletionItem: (kind: string, match: lsProtocol.CompletionItem) => T, console: ILSPLogConsole): { start: number; end: number; items: T[]; source: string; }; export {};