import { FlatTreeControl } from './flat-tree-control';
export declare const kbqTreeSelectAllValue = "selectAll";
export interface FlatTreeControlFilter<T> {
    result: T[];
    handle(value: string | null, prevFilter?: FlatTreeControlFilter<T> | null): T[];
}
export declare class FilterByViewValue<T> implements FlatTreeControlFilter<T> {
    private control;
    result: T[];
    constructor(control: FlatTreeControl<T>);
    handle(value: string | null): T[];
}
export declare class FilterParentsForNodes<T> implements FlatTreeControlFilter<T> {
    private control;
    result: T[];
    constructor(control: FlatTreeControl<T>);
    handle(_: any, prevFilter: FlatTreeControlFilter<T>): T[];
}
export declare class FilterByValues<T> implements FlatTreeControlFilter<T> {
    private control;
    result: T[];
    private values;
    constructor(control: FlatTreeControl<T>);
    handle(_: any, prevFilter?: FlatTreeControlFilter<T>): T[];
    setValues: (values: string[]) => void;
    getValues(): string[];
}
