import { editor } from 'monaco-editor';
import { EditorBase } from './editor-base';
type EditorOptions = editor.IEditorOptions & editor.IGlobalEditorOptions;
/**
 * @fires {CustomEvent<editor.IModelContentChangedEvent>} didChangeModelContent - Fires when model content of the editor is changed.
 */
export declare class HeyMonacoEditor extends EditorBase<editor.IStandaloneCodeEditor> {
    /**
     * @internal
     */
    protected readonly PROPERTY_CHANGE_HANDLER_DICT: {
        [propertyName: string]: (value: any) => void;
    };
    /**
     * @internal
     */
    protected editorContainerRef: import("lit/directives/ref.js").Ref<HTMLDivElement>;
    /**
     * The value for the editor.
     */
    value?: string;
    /**
     * The language for the editor.
     */
    language?: string;
    options?: EditorOptions;
    protected loadEditor(editorContainer?: HTMLDivElement): Promise<void>;
    protected defineEvents(): void;
}
declare global {
    interface HTMLElementTagNameMap {
        'hey-monaco-editor': HeyMonacoEditor;
    }
}
export {};
