import { EventEmitter } from '@angular/core';
import { TuiControl } from '@taiga-ui/cdk/classes';
import { type TuiBooleanHandler, type TuiHandler, type TuiIdentityMatcher } from '@taiga-ui/cdk/types';
import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
import * as i0 from "@angular/core";
export declare class TuiFilter<T> extends TuiControl<readonly T[]> {
    identityMatcher: TuiIdentityMatcher<T>;
    items: readonly T[];
    size: TuiSizeL | TuiSizeS;
    disabledItemHandler: TuiBooleanHandler<T>;
    readonly toggledItem: EventEmitter<T>;
    content: PolymorpheusContent;
    badgeHandler: TuiHandler<T, number | null>;
    onCheckbox(value: boolean, item: T): void;
    protected isCheckboxEnabled(item: T): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiFilter<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TuiFilter<any>, "tui-filter", never, { "identityMatcher": { "alias": "identityMatcher"; "required": false; }; "items": { "alias": "items"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabledItemHandler": { "alias": "disabledItemHandler"; "required": false; }; "content": { "alias": "content"; "required": false; }; "badgeHandler": { "alias": "badgeHandler"; "required": false; }; }, { "toggledItem": "toggledItem"; }, never, never, true, never>;
}
