import { CancellationToken } from 'vscode';
import { Uri as URI } from '@opensumi/ide-core-common';
import { ExtensionDocumentDataManager } from '../../../../common/vscode/doc';
import { IExtensionDescription } from '../../../../common/vscode/extension';
import * as languages from '../../../../common/vscode/languages';
import { IdentifiableInlineCompletions } from '../../../../common/vscode/languages';
import { CommandsConverter } from '../ext.host.command';
import type { IPosition } from '@opensumi/ide-monaco/lib/common';
import type vscode from 'vscode';
export declare class InlineCompletionAdapterBase {
    provideInlineCompletions(resource: URI, position: IPosition, context: languages.InlineCompletionContext, token: CancellationToken): Promise<IdentifiableInlineCompletions | undefined>;
    disposeCompletions(pid: number): void;
    handleDidShowCompletionItem(pid: number, idx: number, updatedInsertText: string): void;
    handlePartialAccept(pid: number, idx: number, acceptedCharacters: number): void;
}
export declare class InlineCompletionAdapter extends InlineCompletionAdapterBase {
    private readonly _extension;
    private readonly _documents;
    private readonly _provider;
    private readonly _commands;
    private readonly _references;
    constructor(_extension: IExtensionDescription, _documents: ExtensionDocumentDataManager, _provider: vscode.InlineCompletionItemProvider, _commands: CommandsConverter);
    private readonly languageTriggerKindToVSCodeTriggerKind;
    provideInlineCompletions(resource: URI, position: IPosition, context: languages.InlineCompletionContext, token: CancellationToken): Promise<IdentifiableInlineCompletions | undefined>;
    disposeCompletions(pid: number): void;
    handleDidShowCompletionItem(pid: number, idx: number, updatedInsertText: string): void;
    handlePartialAccept(pid: number, idx: number, acceptedCharacters: number): void;
}
//# sourceMappingURL=inlineCompletion.d.ts.map