import { ElementRef, OnInit, OnDestroy, EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { JsonEditorOptions, JsonEditorMode, JsonEditorTreeNode, IError } from './jsoneditoroptions';
import * as i0 from "@angular/core";
export declare class JsonEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {
    private editor;
    id: string;
    disabled: boolean;
    isFocused: boolean;
    optionsChanged: boolean;
    jsonEditorContainer: ElementRef;
    private _data;
    options: JsonEditorOptions;
    set data(value: Object);
    debug: boolean;
    change: EventEmitter<any>;
    jsonChange: EventEmitter<any>;
    constructor();
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * ngModel
     * ControlValueAccessor
     */
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    private onTouched;
    private onChangeModel;
    onChange(e: any): void;
    onChangeJSON(e: any): void;
    /**
     * JSON EDITOR FUNCTIONS
     */
    collapseAll(): void;
    expandAll(): void;
    focus(): void;
    get(): JSON;
    getMode(): JsonEditorMode;
    getName(): string;
    getText(): string;
    set(json: JSON): void;
    setMode(mode: JsonEditorMode): void;
    setName(name: string): void;
    setSelection(start: any, end: any): void;
    getSelection(): any;
    getValidateSchema(): any;
    setSchema(schema: any, schemaRefs: any): void;
    search(query: string): void;
    setOptions(newOptions: JsonEditorOptions): void;
    update(json: JSON): void;
    destroy(): void;
    getEditor(): any;
    isValidJson(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<JsonEditorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<JsonEditorComponent, "json-editor", never, { "options": "options"; "data": "data"; "debug": "debug"; }, { "change": "change"; "jsonChange": "jsonChange"; }, never, never, false>;
}
export { JsonEditorOptions, JsonEditorMode, JsonEditorTreeNode, IError };
