import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
import { editor } from 'monaco-editor';
import { EditorModel } from '../../models';
import { ShellService } from '../../services/shell.service';
import { EditorService } from './editor.service';
import * as i0 from "@angular/core";
export declare class EditorComponent implements AfterViewInit, OnDestroy {
    private readonly editorService;
    private readonly shellService;
    editorContainer: ElementRef;
    set editorOptions(options: editor.IEditorOptions);
    set model(model: EditorModel);
    set disabled(disabled: boolean);
    formatOnLoad: boolean;
    widthPx: number;
    heightPx: number;
    heightStyle: string;
    jsonSchema?: string;
    fitPage: boolean;
    fitPageExtraSpace: number;
    validEvent: EventEmitter<boolean>;
    valueChangeEvent: EventEmitter<string>;
    private _disabled;
    private _formatting;
    private _editor;
    private _editorOptions;
    private _model;
    private _layoutSubscription;
    constructor(editorService: EditorService, shellService: ShellService);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private openLayoutSubscription;
    private updateOptions;
    private updateModel;
    private setDisabled;
    private formatDocument;
    private checkValidity;
    private setEditorEvents;
    private initMonaco;
    private initJsonSchemaValidation;
    static ɵfac: i0.ɵɵFactoryDeclaration<EditorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EditorComponent, "valtimo-editor", never, { "editorOptions": { "alias": "editorOptions"; "required": false; }; "model": { "alias": "model"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "formatOnLoad": { "alias": "formatOnLoad"; "required": false; }; "widthPx": { "alias": "widthPx"; "required": false; }; "heightPx": { "alias": "heightPx"; "required": false; }; "heightStyle": { "alias": "heightStyle"; "required": false; }; "jsonSchema": { "alias": "jsonSchema"; "required": false; }; "fitPage": { "alias": "fitPage"; "required": false; }; "fitPageExtraSpace": { "alias": "fitPageExtraSpace"; "required": false; }; }, { "validEvent": "validEvent"; "valueChangeEvent": "valueChangeEvent"; }, never, never, false, never>;
}
//# sourceMappingURL=editor.component.d.ts.map