import { Element } from '../../../../../client/element';
import { TreeNode } from '../../../../../spec/parser';
import { System } from '../../../../../system';
import { Dict } from '../../../../../types/Dict';
export interface Props {
    style: Dict<string>;
    data: TreeNode;
    fontSize: number;
}
export interface _Props {
    style: Dict<string>;
    value: any;
}
export declare class Datum extends Element<HTMLDivElement, Props> {
    private _data_tree;
    private _root;
    private _ignore_blur;
    constructor($props: Props, $system: System);
    onPropChanged(prop: string, current: any): void;
    focus: (options?: FocusOptions | undefined) => void;
    blur: () => void;
    focusChild: (path: number[], options?: FocusOptions | undefined) => void;
    blurChild: (path: number[]) => void;
    private _onLeafKeyDown;
    private _onLeafFocus;
    private _onLeafBlur;
    private _onLeafPaste;
    private _onLeafInput;
    private _onChange;
}
export default class Datum_ extends Element<HTMLDivElement, _Props> {
    private _root;
    constructor($props: _Props, $system: System);
    private _get_tree;
    onPropChanged(prop: keyof _Props, current: any): void;
}
