import { ILSPCompletionThemeManager } from '@jupyter-lsp/completion-theme';
import { JupyterFrontEndPlugin } from '@jupyterlab/application';
import { ICompletionProviderManager } from '@jupyterlab/completer';
import { IRenderMimeRegistry } from '@jupyterlab/rendermime';
import { LabIcon } from '@jupyterlab/ui-components';
import * as lsProtocol from 'vscode-languageserver-protocol';
import { CodeCompletion as LSPCompletionSettings } from '../../_completion';
import { FeatureSettings, Feature } from '../../feature';
import { ICompletionFeature } from './tokens';
export declare const completionIcon: LabIcon;
export declare class CompletionFeature extends Feature {
    protected options: CompletionFeature.IOptions;
    readonly id: string;
    readonly capabilities: lsProtocol.ClientCapabilities;
    constructor(options: CompletionFeature.IOptions);
    private _configure;
}
export declare namespace CompletionFeature {
    interface IOptions extends Feature.IOptions {
        settings: FeatureSettings<LSPCompletionSettings>;
        renderMimeRegistry: IRenderMimeRegistry;
        completionProviderManager: ICompletionProviderManager;
        iconsThemeManager: ILSPCompletionThemeManager;
    }
    const id: string;
}
export declare const COMPLETION_PLUGIN: JupyterFrontEndPlugin<ICompletionFeature | null>;
export declare const COMPLETION_FALLBACK_PLUGIN: JupyterFrontEndPlugin<void>;
