import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { SearchComponent } from 'ng-devui/search';
import { ICheckboxInput, ITreeItem, OperableTreeComponent, TreeNode } from 'ng-devui/tree';
import { DevConfigService } from 'ng-devui/utils';
import { Subject, Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class TreeSelectComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy, OnChanges {
    protected renderer: Renderer2;
    protected changeDetectorRef: ChangeDetectorRef;
    private i18n;
    private devConfigService;
    checkableRelation: 'upward' | 'downward' | 'both' | 'none';
    set allowClear(allowClear: boolean);
    get allowClear(): boolean;
    set treeData(treeData: ITreeItem[]);
    get treeData(): ITreeItem[];
    get isOpen(): boolean;
    set isOpen(value: boolean);
    set value(val: any);
    get value(): any;
    constructor(renderer: Renderer2, changeDetectorRef: ChangeDetectorRef, i18n: I18nService, devConfigService: DevConfigService);
    showAnimation: boolean;
    placeholder: string;
    disabled: boolean;
    expandTree: boolean;
    multiple: boolean;
    treeNodeIdKey: string;
    treeNodeChildrenKey: string;
    treeNodeTitleKey: string;
    disabledKey: string;
    leafOnly: boolean;
    delimiter: string;
    iconParentOpen: string;
    iconParentClose: string;
    iconLeaf: string;
    closeOnNodeSelected: boolean;
    width: string;
    searchable: boolean;
    appendTo: string;
    allowUnselect: boolean;
    iconTemplatePosition: string;
    iconTemplateInput: TemplateRef<any>;
    enableLabelization: boolean;
    customItemTemplate: TemplateRef<any>;
    customViewTemplate: TemplateRef<any>;
    customViewDirection: 'bottom' | 'right' | 'left';
    selectHost: ElementRef;
    optionsContainer: ElementRef;
    tree: OperableTreeComponent;
    searchInput: SearchComponent;
    searchInputModel: any;
    popper: any;
    iconTemplatePassThrough: any;
    nodeToggleEvent: EventEmitter<any>;
    valueChanged: EventEmitter<any>;
    virtualScroll: boolean;
    virtualScrollItemSize: number;
    virtualScrollMinBufferPx: number;
    virtualScrollMaxBufferPx: number;
    virtualScrollHeightPx: number;
    checkboxInput: ICheckboxInput;
    _treeData: Array<ITreeItem>;
    currentActiveNode: ITreeItem;
    searchString: string;
    i18nCommonText: I18nInterface['common'];
    i18nSubscription: Subscription;
    noRecord: boolean;
    valueType: 'array' | 'object' | undefined;
    displayValue: string | Array<string>;
    valueLength: number;
    userAgent: string;
    destroy$: Subject<void>;
    validVirtualScrollHeight: number;
    private _value;
    private _isOpen;
    private _sourceTree;
    private _allowClear;
    private timer;
    readyEvent: (treeSelect: TreeSelectComponent) => void;
    private onChange;
    private onTouch;
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    ngOnInit(): void;
    afterTreeInit(): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    writeValue(value: any): void;
    toggle(): void;
    private setI18nText;
    private queryMedia;
    private prepareTree;
    private nodeSelected;
    private resolveParentNode;
    private refreshTree;
    onOperableNodeChecked(selectedNodes: ITreeItem[]): void;
    onOperableNodeSelected(selectedNode: TreeNode | TreeNode[]): void;
    emitEvents(): void;
    visualizeSelectedItems(): void;
    visualizeMultipleValue(): void;
    visualizeSingleValue(): void;
    emptyInput(): void;
    selectedValue(): any;
    responsePopperChange(popperState: any): void;
    private focusSearchInput;
    search(searchString: any): void;
    private registerSearchListener;
    clearValue(event: any, item: any, index?: any): void;
    clearAll(): void;
    onNodeToggled($event: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TreeSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TreeSelectComponent, "d-tree-select", ["select"], { "checkableRelation": "checkableRelation"; "allowClear": "allowClear"; "treeData": "treeData"; "showAnimation": "showAnimation"; "placeholder": "placeholder"; "disabled": "disabled"; "expandTree": "expandTree"; "multiple": "multiple"; "treeNodeIdKey": "treeNodeIdKey"; "treeNodeChildrenKey": "treeNodeChildrenKey"; "treeNodeTitleKey": "treeNodeTitleKey"; "disabledKey": "disabledKey"; "leafOnly": "leafOnly"; "delimiter": "delimiter"; "iconParentOpen": "iconParentOpen"; "iconParentClose": "iconParentClose"; "iconLeaf": "iconLeaf"; "closeOnNodeSelected": "closeOnNodeSelected"; "width": "width"; "searchable": "searchable"; "appendTo": "appendTo"; "allowUnselect": "allowUnselect"; "iconTemplatePosition": "iconTemplatePosition"; "iconTemplateInput": "iconTemplateInput"; "enableLabelization": "enableLabelization"; "customItemTemplate": "customItemTemplate"; "customViewTemplate": "customViewTemplate"; "customViewDirection": "customViewDirection"; "virtualScroll": "virtualScroll"; "virtualScrollItemSize": "virtualScrollItemSize"; "virtualScrollMinBufferPx": "virtualScrollMinBufferPx"; "virtualScrollMaxBufferPx": "virtualScrollMaxBufferPx"; "virtualScrollHeightPx": "virtualScrollHeightPx"; "readyEvent": "readyEvent"; }, { "nodeToggleEvent": "nodeToggleEvent"; "valueChanged": "valueChanged"; }, ["iconTemplatePassThrough"], never, false>;
}
