import { BooleanInput } from '@angular/cdk/coercion';
import { ElementRef, EventEmitter, OnInit } from '@angular/core';
import { Destroy } from '@deja-js/component/core';
import { IDisposable, MonacoApi } from '../monaco-editor.service';
import { EditorOptions } from '../options/editor-options.model';
import * as i0 from "@angular/core";
/**
 * Monaco Editor Component for Angular
 *
 * The Monaco Editor is the code editor that powers [VS Code](https://github.com/Microsoft/vscode), a good page describing the code editor's features is [here](https://code.visualstudio.com/docs/editor/editingevolved).
 */
export declare class MonacoEditorControlComponent extends Destroy implements OnInit {
    private elementRef;
    readonly valueChange: EventEmitter<string>;
    set options(value: EditorOptions);
    get options(): EditorOptions;
    set isDiffEditor(value: BooleanInput);
    get isDiffEditor(): BooleanInput;
    set editableValue(value: string);
    get editableValue(): string;
    set readOnlyValue(value: string);
    get readOnlyValue(): string;
    set monacoEditorApi(value: MonacoApi);
    get monacoEditorApi(): MonacoApi;
    editableModelSub: IDisposable;
    private editor;
    private _editableValue;
    private _readOnlyValue;
    private _isDiffEditor;
    private _options;
    private _monacoEditorApi;
    private createEditor$;
    private get editableModel();
    private get readOnlyModel();
    constructor(elementRef: ElementRef<HTMLElement>);
    onResize(): void;
    ngOnInit(): void;
    private clearElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<MonacoEditorControlComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MonacoEditorControlComponent, "monaco-editor-control", never, { "options": "options"; "isDiffEditor": "isDiffEditor"; "editableValue": "editableValue"; "readOnlyValue": "readOnlyValue"; "monacoEditorApi": "monacoEditorApi"; }, { "valueChange": "valueChange"; }, never, never, false>;
}
