import * as monaco from 'monaco-editor';
import { CodeCompletionConfig, EnrichedCompletion, ICodeCompletionAPI, ICodeCompletionService } from './types';
import { GhostEventEmitter } from '../events';
export declare class CodeCompletionService implements ICodeCompletionService {
    private readonly cacheManager;
    private readonly suggestionProvider;
    private readonly config;
    events: GhostEventEmitter;
    constructor(api: ICodeCompletionAPI, userConfig?: CodeCompletionConfig);
    provideInlineCompletions(model: monaco.editor.ITextModel, position: monaco.Position, _context: monaco.languages.InlineCompletionContext, _token: monaco.CancellationToken): Promise<{
        items: EnrichedCompletion[];
    }>;
    handleItemDidShow(_completions: monaco.languages.InlineCompletions<EnrichedCompletion>, item: EnrichedCompletion): void;
    handlePartialAccept(_completions: monaco.languages.InlineCompletions, item: monaco.languages.InlineCompletion, acceptedLetters: number): void;
    handleAccept({ requestId, suggestionText }: {
        requestId: string;
        suggestionText: string;
    }): void;
    commandDiscard(reason: "OnCancel" | undefined, editor: monaco.editor.IStandaloneCodeEditor): void;
    emptyCache(): void;
    hasActiveSuggestions(): boolean;
    freeInlineCompletions(): void;
    private dismissCompletion;
}
//# sourceMappingURL=index.d.ts.map