import { CellModel, ChildModelOf, Event, ModelAdapter, RemoteEvent, Tree, TreeNode, TreeNodeActionEvent, TreeNodeClickEvent, TreeNodeExpandedEvent, TreeNodeModel, TreeNodesCheckedEvent, TreeNodesSelectedEvent } from '../index';
export declare class TreeAdapter extends ModelAdapter {
    widget: Tree;
    constructor();
    _postCreateWidget(): void;
    protected _autoCheckChildNodes(): void;
    protected _sendNodesSelected(nodeIds: string[], debounceSend: boolean): void;
    protected _onWidgetNodeClick(event: TreeNodeClickEvent): void;
    protected _onWidgetNodeAction(event: TreeNodeActionEvent): void;
    protected _onWidgetNodesSelected(event: TreeNodesSelectedEvent): void;
    protected _onWidgetNodeExpanded(event: TreeNodeExpandedEvent): void;
    protected _onWidgetNodesChecked(event: TreeNodesCheckedEvent): void;
    protected _sendNodesChecked(nodes: TreeNode[]): void;
    sendNodesChanged(nodes: TreeNode[]): void;
    protected _onWidgetEvent(event: Event<Tree>): void;
    onModelAction(event: RemoteEvent): void;
    protected _onNodesInserted(nodes: TreeNode[] | TreeNode, parentNodeId: string): void;
    protected _onNodesUpdated(nodes: TreeNode | TreeNode[]): void;
    protected _onNodesDeleted(nodeIds: string[], parentNodeId: string): void;
    protected _onAllChildNodesDeleted(parentNodeId: string): void;
    protected _onNodesSelected(nodeIds: string[]): void;
    /**
     * @param event.expanded true, to expand the node
     * @param event.expandedLazy true, to expand the nodes lazily
     * @param event.recursive true, to expand the descendant nodes as well
     */
    protected _onNodeExpanded(nodeId: string, event: RemoteEvent & {
        expanded: boolean;
        expandedLazy: boolean;
        recursive?: boolean;
    }): void;
    protected _onNodeChanged(nodeId: string, cell: RemoteEvent & CellModel): void;
    protected _onNodesChecked(nodes: {
        id: string;
        checked: boolean;
    }[]): void;
    protected _onChildNodeOrderChanged(childNodeIds: string[], parentNodeId: string): void;
    protected _onRequestFocus(): void;
    protected _onScrollToSelection(): void;
    protected _initNodeModel(nodeModel?: TreeNodeModel): ChildModelOf<TreeNode>;
    protected _getDefaultNodeObjectType(): string;
    protected static _updateChildrenCheckedRemote(this: Tree & {
        modelAdapter: TreeAdapter;
        _updateChildrenCheckedOrig: any;
    }, nodes: TreeNode[]): any;
    /**
     * 'this' in this function refers to the Tree
     */
    protected static _createTreeNodeRemote(this: Tree & {
        modelAdapter: TreeAdapter;
        _createTreeNodeOrig: any;
    }, nodeModel: TreeNodeModel): any;
    /**
     * Static method to modify the prototype of Tree.
     */
    static modifyTreePrototype(): void;
    static isRemote(node: AdapterTreeNode, includeHybrid?: boolean): boolean;
}
export interface AdapterTreeNode extends TreeNode {
    /**
     * This marker indicates a {@link TreeNode} that represent a remote node on the UI server.
     */
    remote?: boolean;
    /**
     * This marker indicates a {@link TreeNode} that represent a hybrid node on the UI server (i.e. a remote node where the representation on the UI server is just a wrapper).
     */
    __hybrid?: boolean;
}
//# sourceMappingURL=TreeAdapter.d.ts.map