import { CancellationToken, Position } from 'vscode-languageserver-protocol';
import { ILogger } from '../../../../../platform/log/common/logService';
import { IInstantiationService } from '../../../../../util/vs/platform/instantiation/common/instantiation';
import { LlmNESTelemetryBuilder } from '../../../../inlineEdits/node/nextEditProviderTelemetry';
import { GhostTextLogContext } from '../../../common/ghostTextContext';
import { CopilotCompletion } from './ghostText/copilotCompletion';
import { GetGhostTextOptions } from './ghostText/ghostText';
import { ITextEditorOptions } from './ghostText/normalizeIndent';
import { ICompletionsSpeculativeRequestCache } from './ghostText/speculativeRequestCache';
import { ICompletionsLogTargetService } from './logger';
import { ITextDocument } from './textDocument';
type GetInlineCompletionsOptions = Partial<GetGhostTextOptions> & {
    formattingOptions?: ITextEditorOptions;
};
export declare class GhostText {
    private readonly instantiationService;
    private readonly logTargetService;
    private readonly speculativeRequestCache;
    constructor(instantiationService: IInstantiationService, logTargetService: ICompletionsLogTargetService, speculativeRequestCache: ICompletionsSpeculativeRequestCache);
    getInlineCompletions(textDocument: ITextDocument, position: Position, token: CancellationToken, options: Exclude<Partial<GetInlineCompletionsOptions>, "promptOnly"> | undefined, logContext: GhostTextLogContext, telemetryBuilder: LlmNESTelemetryBuilder, parentLogger: ILogger): Promise<CopilotCompletion[] | undefined>;
    private getInlineCompletionsResult;
}
export {};
//# sourceMappingURL=inlineCompletion.d.ts.map