import { JupyterFrontEndPlugin } from '@jupyterlab/application';
import { LabIcon } from '@jupyterlab/ui-components';
import { Debouncer } from '@lumino/polling';
import type * as CodeMirror from 'codemirror';
import type * as lsProtocol from 'vscode-languageserver-protocol';
import { CodeHighlights as LSPHighlightsSettings } from '../_highlights';
import { CodeMirrorIntegration } from '../editor_integration/codemirror';
import { FeatureSettings } from '../feature';
export declare const highlightIcon: LabIcon;
export declare const highlightTypeIcon: LabIcon;
export declare class HighlightsCM extends CodeMirrorIntegration {
    protected highlight_markers: CodeMirror.TextMarker[];
    private debounced_get_highlight;
    private virtual_position;
    private sent_version;
    private last_token;
    get settings(): FeatureSettings<LSPHighlightsSettings>;
    register(): void;
    protected onBlur: () => void;
    remove(): void;
    protected clear_markers(): void;
    protected handleHighlight: (items: lsProtocol.DocumentHighlight[] | undefined) => void;
    protected create_debouncer(): Debouncer<lsProtocol.DocumentHighlight[] | undefined, any>;
    protected on_cursor_activity: () => Promise<lsProtocol.DocumentHighlight[] | undefined>;
    protected onCursorActivity: () => Promise<void>;
}
export declare const HIGHLIGHTS_PLUGIN: JupyterFrontEndPlugin<void>;
