import { $ } from '../../../../../Class/$';
import { Element_ } from '../../../../../Class/Element';
import { SnapshotOpt } from '../../../../../Class/Unit';
import { Zoom } from '../../../../../client/zoom';
import { System } from '../../../../../system';
import { Dict } from '../../../../../types/Dict';
import { G } from '../../../../../types/interface/G';
import { J } from '../../../../../types/interface/J';
import { Config, Value } from './Component';
export interface I<T> {
    style: Dict<string>;
    graph: G;
    disabled: boolean;
    fullwindow: boolean;
    frame: Element_;
    zoom: Zoom;
    controls: boolean;
    config: Config;
    value: Value;
}
export interface O<T> {
    graph: G;
    state: J & $;
    value: Value;
}
export default class Editor<T> extends Element_<I<T>, O<T>> {
    __: string[];
    private _fallback_graph_class;
    constructor(system: System);
    private _fallback;
    onRefInputInvalid(name: string): void;
    onRefInputData(name: string, data: any): void;
    onRefInputDrop(name: string): void;
    onRefOutputData(name: string, data: any): void;
    snapshotSelf(opt?: SnapshotOpt): Dict<any>;
    restoreSelf(state: Dict<any>): void;
}
