import { OnInit, AfterViewInit, OnDestroy, EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { CoreFacade } from './core/facades/core-facade';
import { EditorOptions } from './models';
import * as i0 from "@angular/core";
export declare class CodeEditorComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnDestroy {
    private readonly coreFacade;
    set editorOptions(options: EditorOptions | undefined);
    set code(code: string);
    isCodeValid: boolean | undefined;
    set payload(payload: string);
    codeChange: EventEmitter<string>;
    isCodeValidChange: EventEmitter<boolean>;
    onCodeChange: EventEmitter<string>;
    onComponentFinishLoad: EventEmitter<void>;
    private readonly coreWrapperElement;
    private readonly _ngUnsubscribe;
    private _onChange;
    private _onTouched;
    constructor(coreFacade: CoreFacade);
    writeValue(value: string): void;
    registerOnChange(onChange: (value: string) => void): void;
    registerOnTouched(onTouched: () => void): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private setCoreWrapperElement;
    private setupCoreListeners;
    static ɵfac: i0.ɵɵFactoryDeclaration<CodeEditorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CodeEditorComponent, "s-code-editor", never, { "editorOptions": { "alias": "editorOptions"; "required": false; }; "code": { "alias": "code"; "required": false; }; "isCodeValid": { "alias": "isCodeValid"; "required": false; }; "payload": { "alias": "payload"; "required": false; }; }, { "codeChange": "codeChange"; "isCodeValidChange": "isCodeValidChange"; "onCodeChange": "onCodeChange"; "onComponentFinishLoad": "onComponentFinishLoad"; }, never, never, false, never>;
}
