import { AfterViewInit, OnDestroy, NgZone, ElementRef, EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import type * as Monaco from 'monaco-editor';
import { ThemeSwitcherService } from '@c8y/ngx-components';
import * as i0 from "@angular/core";
export declare function loadMonacoEditor(): Promise<typeof Monaco>;
export declare class EditorComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {
    private zone;
    private theme;
    editorOptions: Monaco.editor.IStandaloneEditorConstructionOptions;
    editorInit: EventEmitter<Monaco.editor.IStandaloneCodeEditor>;
    monaco: typeof Monaco;
    editor: Monaco.editor.IStandaloneCodeEditor;
    private _readOnly;
    private _currentValue;
    private _onChanges;
    private _onTouched;
    _editorContainer: ElementRef;
    private themeChanges$;
    constructor(zone: NgZone, theme: ThemeSwitcherService);
    writeValue(obj: string | object): void;
    registerOnChange(fn: (value: string) => void): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    ngAfterViewInit(): Promise<void>;
    register(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EditorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EditorComponent, "c8y-editor", never, { "editorOptions": { "alias": "editorOptions"; "required": false; }; }, { "editorInit": "editorInit"; }, never, never, true, never>;
}
//# sourceMappingURL=editor.component.d.ts.map