import { OnInit, EventEmitter, OnDestroy, ElementRef } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
import * as i1 from "@eui/components/shared";
/**
 * @description
 * Component used with `eui-table` to add a filter feature to the table.
 */
export declare class EuiTableFilterComponent implements OnInit, OnDestroy {
    /**
     * @description
     * Computes and returns the CSS classes for the component based on its current state.
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get cssClasses(): string;
    /**
     * Placeholder text for the filter input.
     */
    placeholder: string;
    /**
     * Event emitted when the value of the input changes.
     */
    filterChange: EventEmitter<string>;
    filterInput: ElementRef<HTMLInputElement>;
    filter$: BehaviorSubject<string | null>;
    form: FormGroup;
    autoSearch: boolean;
    private destroy$;
    private baseStatesDirective;
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * Set the filter value and emit the change event.
     *
     * @param value Value of the input.
     */
    setFilter(value: string): void;
    /**
     * Reset the filter and emit the change event.
     */
    resetFilter(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTableFilterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTableFilterComponent, "eui-table-filter", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "autoSearch": { "alias": "autoSearch"; "required": false; }; }, { "filterChange": "filterChange"; }, never, never, true, [{ directive: typeof i1.BaseStatesDirective; inputs: {}; outputs: {}; }]>;
    static ngAcceptInputType_autoSearch: unknown;
}
//# sourceMappingURL=eui-table-filter.component.d.ts.map