import { type OnDestroy, type OnInit } from '@angular/core';
import { type TuiTableFilter } from './table-filter';
import { TuiTableFiltersDirective } from './table-filters.directive';
import * as i0 from "@angular/core";
export declare class TuiTableFilterDirective<T> implements OnInit, OnDestroy, TuiTableFilter<T> {
    private readonly head;
    private readonly delegate;
    private readonly control;
    protected readonly filters: TuiTableFiltersDirective<any>;
    protected readonly key: import("@angular/core").Signal<string | keyof T | undefined>;
    readonly tuiTableFilter: import("@angular/core").InputSignal<keyof T | undefined>;
    readonly refresh$: import("rxjs").Observable<any>;
    ngOnInit(): void;
    ngOnDestroy(): void;
    filter(item: T): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiTableFilterDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTableFilterDirective<any>, "[tuiTableFilter]", never, { "tuiTableFilter": { "alias": "tuiTableFilter"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
