import { EventEmitter } from '@angular/core';
import { NestedTreeControl } from '@angular/cdk/tree';
import { MatTreeNestedDataSource } from '@angular/material/tree';
import { ControlValueAccessor, FormControl } from '@angular/forms';
import { SelectModel } from '../models/components/select.model';
import { BaseModel } from '../models/base.model';
import { FlatTreeModel } from '../models/components/flat-tree.model';
import * as i0 from "@angular/core";
export declare class CvaTreeComponent implements ControlValueAccessor {
    _treeFields: FlatTreeModel;
    autocompleteData: SelectModel[];
    set treeData(treeFields: FlatTreeModel);
    placeholder: string;
    symbol: string;
    isShowLeafNextTo: boolean;
    disabled: boolean;
    isHidingTree: boolean;
    selectionChange: EventEmitter<any>;
    treeControl: NestedTreeControl<any>;
    dataSource: MatTreeNestedDataSource<BaseModel>;
    autocompleteControl: FormControl<any>;
    constructor();
    propagateChange: (_: any) => void;
    writeValue(obj: any[]): void;
    registerOnChange(fn: any): void;
    registerOnTouched(): void;
    hasChild: (_: number, node: any) => boolean;
    onSelectChange(): void;
    updateTreeChecked(nodes: BaseModel[], selectedValues: string[]): void;
    isShowNodeRecursive(nodes: BaseModel[]): boolean;
    isMatchFilterInputValue(node: BaseModel): boolean;
    isShowButtonChoose(node: BaseModel): boolean;
    isShowButtonRemove(node: BaseModel): boolean;
    onChooseNode(node: BaseModel): void;
    onRemoveNode(node: BaseModel): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CvaTreeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CvaTreeComponent, "cva-tree", never, { "treeData": { "alias": "treeData"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "symbol": { "alias": "symbol"; "required": false; }; "isShowLeafNextTo": { "alias": "isShowLeafNextTo"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "isHidingTree": { "alias": "isHidingTree"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
}
