/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { QueryList, AfterContentInit, OnDestroy } from '@angular/core';
import { FilterService } from './filter.service';
import { CompositeFilterDescriptor, FilterDescriptor } from '@progress/kendo-data-query';
import { FilterOperatorBase } from './operators/filter-operator.base';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { FilterOperator } from '../common/filter-operator.interface';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare const setFilter: (index: any, filter: any, field: any, defaultOperator: any) => FilterDescriptor;
/**
 * @hidden
 */
export declare const logicOperators: (localization: LocalizationService) => Array<{
    text: string;
    value: "and" | "or";
}>;
/**
 * @hidden
 */
export declare const flatten: (filter: CompositeFilterDescriptor) => FilterDescriptor[];
/**
 * @hidden
 */
export declare const filtersByField: (filter: CompositeFilterDescriptor, field: string) => FilterDescriptor[];
/**
 * @hidden
 */
export declare const filterByField: (filter: CompositeFilterDescriptor, field: string) => FilterDescriptor;
/**
 * @hidden
 */
export declare const removeFilter: (filter: CompositeFilterDescriptor, field: string) => CompositeFilterDescriptor;
/**
 * @hidden
 */
export declare const localizeOperators: (operators: any) => (localization: any) => {
    text: any;
    value: any;
}[];
/**
 * An abstract base class for the filter-cell component in the TreeList.
 * Use this class to implement custom filter cell components.
 * [See example](https://www.telerik.com/kendo-angular-ui/components/treelist/filtering/filter-row#custom-filter-row-components).
 */
export declare abstract class BaseFilterCellComponent implements AfterContentInit, OnDestroy {
    protected filterService: FilterService;
    get hostClasses(): boolean;
    operatorList: QueryList<FilterOperatorBase>;
    get operators(): Array<FilterOperator>;
    set operators(values: Array<FilterOperator>);
    /**
     * The current root filter.
     * @type {CompositeFilterDescriptor}
     */
    filter: CompositeFilterDescriptor;
    protected defaultOperators: Array<FilterOperator>;
    protected _operators: Array<FilterOperator>;
    private operationListSubscription;
    constructor(filterService: FilterService);
    /**
     * @hidden
     */
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    protected filterByField(field: string): FilterDescriptor;
    protected filtersByField(field: string): FilterDescriptor[];
    protected removeFilter(field: string): CompositeFilterDescriptor;
    protected updateFilter(filter: FilterDescriptor): CompositeFilterDescriptor;
    protected applyFilter(filter: CompositeFilterDescriptor): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseFilterCellComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<BaseFilterCellComponent, never, never, { "operators": { "alias": "operators"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; }, {}, ["operatorList"], never, true, never>;
}
