/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { OnInit, EventEmitter, ElementRef, Renderer2 } from '@angular/core'; import { LocalizationService } from '@progress/kendo-angular-l10n'; import { FilterService } from './filter.service'; import { CompositeFilterDescriptor } from '@progress/kendo-data-query'; import { FilterExpression } from './model/filter-expression'; import { Direction } from './util'; import { ChangeDetectorRef } from '@angular/core'; import { OnDestroy } from '@angular/core'; import { FilterItem } from './util'; import { NavigationService } from './navigation.service'; import * as i0 from "@angular/core"; /** * Represents the [Kendo UI Filter component for Angular]({% slug overview_filter %}). * The Filter component enables users to define and apply complex filter criteria. * * @example * ```ts * @Component({ * selector: 'my-app', * template: ` * * ` * }) * export class AppComponent { * public filters: FilterExpression[] = [ * { * name: 'country', * label: 'Country', * filter: 'string', * operators: ['eq', 'neq'], * }, * { * name: 'budget', * filter: 'number' * } * ]; * * onValueChange(e: CompositeFilterDescriptor) { * console.log(e); * } * } * ``` * * @remarks * Supported children components are: {@link CustomMessagesComponent}, {@link FilterFieldComponent}. */ export declare class FilterComponent implements OnInit, OnDestroy { private filterService; private localization; private cdr; private element; private navigationService; private renderer; /** * @hidden */ focusout(): void; /** * @hidden */ focusin(): void; /** * @hidden */ onKeydown(event: KeyboardEvent): void; direction: Direction; /** * Specifies the available user-defined filters. At least one filter should be provided. */ set filters(_filters: FilterExpression[]); get filters(): FilterExpression[]; /** * Sets the initial `value` of the Filter component. */ set value(value: CompositeFilterDescriptor); get value(): CompositeFilterDescriptor; /** * Fires every time the Filter component value is updated. * That is each time a Filter Group or Filter Expression is added, removed, or updated. */ valueChange: EventEmitter; private localizationSubscription; private filterFieldsSubscription; private _value; private filterFields; private _filterItems; get filterItems(): FilterItem[]; get toolbarElement(): HTMLElement; constructor(filterService: FilterService, localization: LocalizationService, cdr: ChangeDetectorRef, element: ElementRef, navigationService: NavigationService, renderer: Renderer2); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; private filterFieldsChanged; private _currentFilter; /** * @hidden */ get currentFilter(): CompositeFilterDescriptor; /** * @hidden */ set currentFilter(value: CompositeFilterDescriptor); /** * @hidden */ onValueChange(isRemoveOperation?: any): void; private normalizeFilter; private setValue; private normalizeValue; /** * @hidden */ messageFor(key: string): string; /** * @hidden */ private filtersTypeChanged; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }