import { LitElement } from 'lit';
import { StyleInfo } from 'lit/directives/style-map.js';
import { Ref } from 'lit/directives/ref.js';
import { HLJSApi } from 'highlight.js';
import { LanguageFn } from 'highlight.js';
import './components/annotation.js';
import './components/knobs/textarea.js';
import { AnnotationConfig } from './types/types.js';
export declare class AnnotativeBaseComponent extends LitElement {
    static styles: import("lit").CSSResult[];
    annotativeInnerRef: Ref<HTMLElement>;
    parentStyle: {
        fontSize: number;
        backgroundColor: string;
        width: number;
        height: number;
        paddingLeft: number;
        paddingRight: number;
    };
    private _showPopup;
    private _copyValue;
    protected hljs: HLJSApi;
    protected contentsWithAnnotations: (string | {
        key: any;
        config: any;
    })[];
    languageFn: LanguageFn;
    content: string;
    annotation: Record<string, AnnotationConfig>;
    themeCss: string;
    annotationMask?: string;
    encloser?: string;
    styleMap?: StyleInfo;
    onValueChange?: (CustomEvent: any) => void;
    constructor();
    protected _loadAndHighlightSyntax(): Promise<void>;
    protected _loadCss(): Promise<void>;
    updated(changedProperties: Map<string, any>): void;
    private _getComputedStyle;
    connectedCallback(): void;
    disconnectedCallback(): void;
    private _insertAnnotationKeysAndGetKeyIndexes;
    protected _highlight(contentWithAnnotations: any): string;
    protected _createContentsWithAnnotations(): (string | {
        key: any;
        config: AnnotationConfig;
    })[];
    private _computeNewValueObj;
    private _onChange;
    private _onTriggerCopyPopup;
    render(): import("lit-html").TemplateResult<1>;
}
//# sourceMappingURL=annotative-base-component.d.ts.map