/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
import { GridColumnMenuFilterBaseProps } from '../interfaces/GridColumnMenuFilterBaseProps';
import { PropType } from 'vue';
/**
 * @hidden
 */
export declare const rootFilterOrDefault: (rootFilter: CompositeFilterDescriptor | undefined) => CompositeFilterDescriptor;
/**
 * Can be used to check if filtering is applied to a specific field ([see example]({% slug column_menu_grid %}#toc-styling-the-column-menu-icon)). Useful for creating active filter indicators.
 */
export declare const filterGroupByField: (field: string, filter: CompositeFilterDescriptor | undefined) => CompositeFilterDescriptor | null;
/**
 * The props of the GridColumnMenuFilter component.
 */
export interface GridColumnMenuFilterProps extends GridColumnMenuFilterBaseProps {
    /**
     * Controls the expand state of the filter component.
     */
    expanded?: boolean;
    /**
     * Triggers on each subsequent expand state of the filter component.
     */
    onExpandchange?: (nextExpandState: boolean) => void;
    /**
     * If set to `false`, the second filter operator and the input will be hidden.
     */
    hideSecondFilter?: boolean;
    filterUI?: any;
    /**
     * Triggers when a filter is focused.
     */
    onFilterfocus?: (e: any) => void;
}
/**
 * @hidden
 */
export interface GridColumnMenuFilterStateProps {
    expanded: boolean;
    filterGroup: CompositeFilterDescriptor;
}
/**
 * @hidden
 */
export interface GridColumnMenuFilterData {
    currentExpanded: boolean;
    filterGroup: any;
}
/**
 * Represents the GridColumnMenuFilter component.
 *
 * @hidden
 */
declare const GridColumnMenuFilter: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    column: PropType<import('../interfaces/GridColumnMenuColumnProps').GridColumnMenuColumnProps>;
    filter: PropType<CompositeFilterDescriptor>;
    expanded: {
        type: PropType<boolean>;
        default: any;
    };
    filterable: PropType<boolean>;
    filterOperators: {
        type: PropType<import('../interfaces/GridFilterOperators').GridFilterOperators>;
        default: () => import('../interfaces/GridFilterOperators').GridFilterOperators;
    };
    hideSecondFilter: {
        type: PropType<boolean>;
        default: () => any;
    };
    filterUI: PropType<any>;
    onFilterfocus: PropType<(e: any) => void>;
    onFilterchange: PropType<(filter: CompositeFilterDescriptor, syntheticEvent: any) => any>;
    onExpandchange: PropType<(nextExpandState: boolean) => void>;
    onClosemenu: PropType<Function>;
}>, {
    kendoLocalizationService: {};
}, {
    currentExpanded: boolean;
    filterGroup: any;
}, {}, {
    removeGroup(group: CompositeFilterDescriptor, rootFilter: CompositeFilterDescriptor): CompositeFilterDescriptor;
    insertGroup(group: CompositeFilterDescriptor, rootFilter: CompositeFilterDescriptor): CompositeFilterDescriptor;
    isControlled(): boolean;
    onFilterExpand(): void;
    filterChangeHandler(e: any, filterIndex?: number): void;
    firstFilterChange(e: any): void;
    secondFilterChange(e: any): void;
    filterChange(filterIndex: number, e: {
        value: number;
        operator: string;
    }): void;
    logicChange(e: any): void;
    clear(e: any): void;
    currentFilterGroup(): CompositeFilterDescriptor;
    submit(e: any): void;
    handleFocus(e: any): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    column: PropType<import('../interfaces/GridColumnMenuColumnProps').GridColumnMenuColumnProps>;
    filter: PropType<CompositeFilterDescriptor>;
    expanded: {
        type: PropType<boolean>;
        default: any;
    };
    filterable: PropType<boolean>;
    filterOperators: {
        type: PropType<import('../interfaces/GridFilterOperators').GridFilterOperators>;
        default: () => import('../interfaces/GridFilterOperators').GridFilterOperators;
    };
    hideSecondFilter: {
        type: PropType<boolean>;
        default: () => any;
    };
    filterUI: PropType<any>;
    onFilterfocus: PropType<(e: any) => void>;
    onFilterchange: PropType<(filter: CompositeFilterDescriptor, syntheticEvent: any) => any>;
    onExpandchange: PropType<(nextExpandState: boolean) => void>;
    onClosemenu: PropType<Function>;
}>> & Readonly<{}>, {
    expanded: boolean;
    filterOperators: import('../interfaces/GridFilterOperators').GridFilterOperators;
    hideSecondFilter: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { GridColumnMenuFilter };
