import { Completer } from '@jupyterlab/completer';
import { IRenderMime } from '@jupyterlab/rendermime';
import { Signal } from '@lumino/signaling';
import { ILSPLogConsole } from '../../tokens';
import { CompletionLabIntegration } from './completion';
import { LazyCompletionItem } from './item';
export interface ICompletionData {
    item: LazyCompletionItem;
    element: HTMLLIElement;
}
export declare class LSPCompletionRenderer extends Completer.Renderer implements Completer.IRenderer {
    protected options: LSPCompletionRenderer.IOptions;
    activeChanged: Signal<LSPCompletionRenderer, ICompletionData>;
    itemShown: Signal<LSPCompletionRenderer, ICompletionData>;
    private visibilityObserver;
    private activityObserver;
    private elementToItem;
    private wasActivated;
    protected ITEM_PLACEHOLDER_CLASS: string;
    protected EXTRA_INFO_CLASS: string;
    constructor(options: LSPCompletionRenderer.IOptions);
    protected getExtraInfo(item: LazyCompletionItem): string;
    updateExtraInfo(item: LazyCompletionItem, li: HTMLLIElement): void;
    createCompletionItemNode(item: LazyCompletionItem, orderedTypes: string[]): HTMLLIElement;
    createDocumentationNode(item: LazyCompletionItem): HTMLElement;
}
export declare namespace LSPCompletionRenderer {
    interface IOptions {
        integrator: CompletionLabIntegration;
        markdownRenderer: IRenderMime.IRenderer | null;
        latexTypesetter?: IRenderMime.ILatexTypesetter | null;
        console: ILSPLogConsole;
    }
}
