import { QuarkElement, Ref } from 'quarkc';
import { EditorView } from '@codemirror/view';
import { Compartment } from '@codemirror/state';
import { CODE_LANGUAGE } from './interface';
export default class CodeArea extends QuarkElement {
    value: string;
    language: CODE_LANGUAGE;
    readOnly: boolean;
    get data(): {
        value: string;
        language: CODE_LANGUAGE;
        readOnly: boolean;
    };
    editorEl: Ref<HTMLDivElement>;
    editor: EditorView;
    readOnlyConfig: Compartment;
    langConfig: Compartment;
    componentDidMount(): void;
    componentDidUpdate(propName: any, oldValue: any, newValue: any): void;
    setValue(v?: string): void;
    setReadOnly(bol: boolean): void;
    setLanguage(key: CODE_LANGUAGE): void;
    emitChange(): void;
    focus(): void;
    render(): any;
}
