/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { OnInit, OnDestroy } from '@angular/core';
import { FilterableComponent } from './filterable-component';
import { DropDownFilterSettings } from './filter-settings';
import * as i0 from "@angular/core";
/**
 * Implements an event handler for the `filterChange` event of a DropDowns component
 * which performs simple data filtering.
 * Currently, the built-in filtering does not work with [grouped data](https://www.telerik.com/kendo-angular-ui/components/data-query/api/groupby).
 *
 * @example
 * ```ts
 * @Component({
 * selector: 'my-app',
 * template: `
 *  <kendo-autocomplete
 *      [data]="data"
 *      kendoDropDownFilter
 *      placeholder="e.g. Andorra"
 *  >
 *  </kendo-autocomplete>
 * `
 * })
 * class AppComponent {
 *     public data: Array<string> = ["Albania", "Andorra", "Armenia", "Austria", "Azerbaijan"];
 * }
 * ```
 * @remarks
 * Applied to: {@link AutoCompleteComponent}, {@link ComboBoxComponent}, {@link DropDownListComponent}, {@link MultiColumnComboBoxComponent}, {@link MultiSelectComponent}.
 */
export declare class FilterDirective implements OnInit, OnDestroy {
    private component;
    /**
     * The initial data that will be used as a source array for the filtering operations.
     */
    set data(data: any[]);
    get data(): any[];
    /**
     * The configuration object which sets the behavior of the `kendoDropDownFilter` directive.
     * If no [DropDownFilterSettings](https://www.telerik.com/kendo-angular-ui/components/dropdowns/api/dropdownfiltersettings) object is provided to this input, the directive will use the default interface settings.
     */
    rawSettings: DropDownFilterSettings | string;
    /**
     * @hidden
     *
     * Sets whether the filtering functionality is enabled on component init.
     */
    filterable: boolean;
    private _data;
    private filterChangeSubscription;
    constructor(component: FilterableComponent);
    ngOnInit(): void;
    ngOnDestroy(): void;
    private handleFilterChange;
    private matchesAnyField;
    private checkItem;
    private normalizeValue;
    private getFilterFields;
    private get filterSettings();
    static ɵfac: i0.ɵɵFactoryDeclaration<FilterDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FilterDirective, "[kendoDropDownFilter]", never, { "data": { "alias": "data"; "required": false; }; "rawSettings": { "alias": "kendoDropDownFilter"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; }, {}, never, never, true, never>;
}
