import type { AgColumn, BeanCollection, FilterWrapperParams, IAfterGuiAttachedParams, IFilterComp, IFilterParams } from 'ag-grid-community';
import { AgPromise, TabGuardComp } from 'ag-grid-community';
type GroupFilterEvent = 'columnsChanged';
export declare function processGroupFilterParams(params: IFilterParams & FilterWrapperParams): IFilterParams & FilterWrapperParams;
export declare class GroupFilter extends TabGuardComp<GroupFilterEvent> implements IFilterComp {
    readonly filterType: "group";
    private readonly eGroupField;
    private readonly eUnderlyingFilter;
    private groupFilterSvc;
    private params;
    private groupColumn;
    private selectedFilter;
    private filterColumnPairs;
    private eGroupFieldSelect;
    private afterGuiAttachedParams;
    private filterComp?;
    constructor();
    wireBeans(beans: BeanCollection): void;
    postConstruct(): void;
    init(legacyParams: IFilterParams): AgPromise<void>;
    refresh(legacyParams: IFilterParams): boolean;
    private updateParams;
    private validateParams;
    private addHandlerListeners;
    private updateGroups;
    private updateGroupField;
    private createGroupFieldSelectElement;
    private getUnderlyingFilters;
    private addUnderlyingFilterElement;
    private updateSelectedColumn;
    isFilterActive(): boolean;
    doesFilterPass(): boolean;
    getModel(): null;
    setModel(): void;
    afterGuiAttached(params?: IAfterGuiAttachedParams): void;
    afterGuiDetached(): void;
    getSelectedColumn(): AgColumn | undefined;
    private getHandler;
    private getFilterColumnPair;
}
export {};
