import { Uri as URI } from '@opensumi/ide-core-common';
import { ExtensionDocumentDataManager, ISuggestDataDto, ISuggestResultDto } from '../../../../common/vscode';
import { ChainedCacheId, CompletionContext, Position } from '../../../../common/vscode/model.api';
import { CommandsConverter } from '../ext.host.command';
import type vscode from 'vscode';
export declare class CompletionAdapter {
    private readonly delegate;
    private readonly commandConverter;
    private readonly documents;
    private cache;
    private toDispose;
    static supportsResolving(provider: vscode.CompletionItemProvider): boolean;
    constructor(delegate: vscode.CompletionItemProvider, commandConverter: CommandsConverter, documents: ExtensionDocumentDataManager);
    provideCompletionItems(resource: URI, position: Position, context: CompletionContext, token: vscode.CancellationToken): Promise<ISuggestResultDto | undefined>;
    resolveCompletionItem(id: ChainedCacheId, token: vscode.CancellationToken): Promise<ISuggestDataDto | undefined>;
    releaseCompletionItems(id: number): Promise<void>;
    private getInsertOrReplace;
    private convertRange;
    private convertCompletionLabel;
    private convertCompletionItem;
    static hasResolveSupport(provider: vscode.CompletionItemProvider): boolean;
}
//# sourceMappingURL=completion.d.ts.map