import { UITreePanelConfig } from './ui-tree-panel-config';
import { I18N } from 'aurelia-i18n';
import { UITreeNode } from "../ui-tree-model";
import { BindingEngine } from "aurelia-binding";
export declare class UITreePanel<TTargetEntity> {
    protected element: Element;
    private bindingEngine;
    private i18n;
    value: Array<AnyObject> | AnyObject;
    model: Array<AnyObject> | AnyObject;
    options: KeyValue[];
    protected treeOptions: UITreeNode[];
    treeConfig: UITreePanelConfig<TTargetEntity>;
    singleLineHeader: boolean;
    showCollapseAll: boolean;
    showNodeExpand: boolean;
    labelSearch: string;
    labelDeselectAll: string;
    labelEmpty: string;
    labelLess: string;
    labelMore: string;
    maxNodes: number;
    checkable: boolean | number;
    searchable: boolean;
    canRefresh: boolean;
    autoCheckable: boolean;
    checkableWhenEmpty: boolean;
    maxValues: number;
    exportToCsv: () => void;
    autoSort: boolean | ((nodeA: UITreeNode, nodeB: UITreeNode) => number);
    private rootNode;
    private disposable;
    private valueDisposable;
    private searchText;
    constructor(element: Element, bindingEngine: BindingEngine, i18n: I18N);
    select(node: UITreeNode, event?: any): Promise<false | void>;
    protected bind(): void;
    protected optionsChanged(): void;
    protected valueChanged(): void;
    refreshSelectedTreeValues(): void;
    protected selectOptionsFromValue(options: UITreeNode[]): void;
    protected unbind(): void;
    protected toggleExpand(index: number): void;
    protected toggleMore(index: number): void;
    lastCheck: UITreeNode;
    protected toggleCheck(node: UITreeNode, event: MouseEvent): void;
    private internalToggleCheck;
    protected getCheckedValues(): void;
    protected searchTextChanged(query: any): void;
    private changeSelection;
    protected parseOptionsAsTree(): void;
    private getChildren;
    private findNodeInStructure;
    get showExpandAll(): boolean;
    toggleExpandAll(): void;
    get showExportCsv(): boolean;
}
