import { AfterViewInit, OnInit } from '@angular/core';
import { UntypedFormControl } from '@angular/forms';
import { FlatTreeControl, KbqTreeFlatDataSource, KbqTreeFlattener, KbqTreeOption } from '@koobiq/components/tree';
import { KbqTreeSelect } from '@koobiq/components/tree-select';
import { Observable } from 'rxjs';
import { KbqPipeTemplate, KbqSelectValue, KbqTreeSelectFlatNode, KbqTreeSelectNode } from '../filter-bar.types';
import { KbqBasePipe } from './base-pipe';
import * as i0 from "@angular/core";
export declare class KbqPipeTreeSelectComponent extends KbqBasePipe<KbqSelectValue> implements OnInit, AfterViewInit {
    /** control for search options */
    searchControl: UntypedFormControl;
    /** filtered by search options */
    filteredOptions: Observable<any[]>;
    treeControl: FlatTreeControl<KbqTreeSelectFlatNode>;
    treeFlattener: KbqTreeFlattener<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
    dataSource: KbqTreeFlatDataSource<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
    template: any;
    /** @docs-private */
    select: KbqTreeSelect;
    /** selected value */
    get selected(): KbqSelectValue | null;
    /** Whether the current pipe is empty. */
    get isEmpty(): boolean;
    constructor();
    ngOnInit(): void;
    ngAfterViewInit(): void;
    hasChild(_: number, nodeData: any): any;
    onSelect(item: KbqTreeOption): void;
    /** updates values for selection and value template */
    updateTemplates: (templates: KbqPipeTemplate[] | null) => void;
    /** opens select */
    open(): void;
    onOpen(): void;
    private transformer;
    private getLevel;
    private isExpandable;
    private getChildren;
    private getValue;
    private getViewValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqPipeTreeSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqPipeTreeSelectComponent, "kbq-pipe-tree-select", never, {}, {}, never, never, true, never>;
}
