import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { IconService } from 'carbon-components-angular';
import { BehaviorSubject, Observable } from 'rxjs';
import { ObjectLevel } from '../../models';
import * as i0 from "@angular/core";
export declare class SchemaEditorComponent implements AfterViewInit, OnChanges, OnDestroy {
    private readonly zone;
    private readonly iconService;
    readonly hostEl: ElementRef<HTMLDivElement>;
    schemaJson: string;
    disabled: boolean;
    changeEvent: EventEmitter<string>;
    saveEvent: EventEmitter<string>;
    validEvent: EventEmitter<boolean>;
    private _editor;
    private readonly _ajv;
    readonly showSaveConfirmationModal$: BehaviorSubject<boolean>;
    readonly valid$: BehaviorSubject<boolean>;
    private get _valid();
    private _modifiedValue;
    private readonly _objectLevels$;
    get objectLevels$(): Observable<ObjectLevel[]>;
    private readonly _required$;
    get required$(): Observable<ObjectLevel[]>;
    isRequired$(path: string[], property: string): Observable<boolean>;
    readonly showRequiredPanel$: BehaviorSubject<boolean>;
    constructor(zone: NgZone, iconService: IconService);
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    onSaveClick(): void;
    hideConfirmationModal(): void;
    onSaveChanges(): void;
    onRequiredPropertyChange(path: string[], property: string, value: boolean): void;
    onRequiredPanelToggle(): void;
    private setObjectLevels;
    private setRequired;
    static ɵfac: i0.ɵɵFactoryDeclaration<SchemaEditorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SchemaEditorComponent, "valtimo-schema-editor", never, { "schemaJson": { "alias": "schemaJson"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "changeEvent": "changeEvent"; "saveEvent": "saveEvent"; "validEvent": "validEvent"; }, never, ["*"], true, never>;
}
//# sourceMappingURL=schema-editor.component.d.ts.map