import { FuzzyScore } from "@vtsls/vscode-fuzzy"; import type * as vscode from "vscode"; import * as lsp from "vscode-languageserver-protocol"; import { CommandsShimService } from "../shims/commands"; import { ConfigurationShimService } from "../shims/configuration"; import { CompletionRegistryHandle } from "../shims/languageFeatures"; import { TSLspConverter } from "../utils/converter"; import { Disposable } from "../utils/dispose"; interface CompletionItemData { providerId: number; index: number; cacheId: number; match?: FuzzyScore; } export declare class CompletionCache extends Disposable { static readonly id = "_vtsls.completionCacheCommand"; constructor(commands: CommandsShimService); private readonly completionItemCache; store(items: vscode.CompletionItem[], providerId: number): { data: CompletionItemData; command: { command: string; title: string; arguments: CompletionItemData[]; }; }[]; resolveData(data?: any): ({ cachedItem: vscode.CompletionItem; } & CompletionItemData) | undefined; private createData; } export declare class TSCompletionFeature extends Disposable { private registry; private configuration; private converter; private cache; constructor(registry: CompletionRegistryHandle, configuration: ConfigurationShimService, commands: CommandsShimService, converter: TSLspConverter); private lastCompleteResult; completion(doc: vscode.TextDocument, params: Omit, token: lsp.CancellationToken): Promise; completionItemResolve(item: lsp.CompletionItem, token: lsp.CancellationToken): Promise; private getCompletionItemFuzzyScorer; private trimCompletionItems; } export {}; //# sourceMappingURL=completion.d.ts.map