import { IRowNode } from 'ag-grid-enterprise';
import * as Redux from 'redux';
import { AdaptableColumn } from '../../AdaptableState/Common/AdaptableColumn';
import { AdaptablePredicateDef } from '../../AdaptableState/Common/AdaptablePredicate';
import { ColumnFilter } from '../../AdaptableState/Common/ColumnFilter';
import { GridCell } from '../../AdaptableState/Selection/GridCell';
import { LayoutColumnFilterAction } from '../../Redux/ActionsReducers/LayoutRedux';
import { ApiBase } from '../Implementation/ApiBase';
export declare class ColumnFilterInternalApi extends ApiBase {
    /**
     * Returns Predicate Definition for given Column and Quick Filter shortcut
     * @param shortcut Quick Filter shortcut to lookup
     * @param column AdapTable Column being Filtered
     */
    findPredicateDefByShortcut(shortcut: string, column: AdaptableColumn): AdaptablePredicateDef;
    /**
     * Creates an Equality Filter based on given Grid Cells
     * @param gridCells cells to create Filter for
     */
    createValuesColumnFilterForCells(gridCells: GridCell[]): ColumnFilter | null;
    /**
     *  Creates an Equality Filter based on given Grid Cell
     * @param gridCell cell to create Filter for
     */
    createEqualityColumnFilterForCell(gridCell: GridCell): ColumnFilter | null;
    /**
     * Calls AdapTableQL to evaluate Filter for given Row
     * @param columnFilter Column Filter to use
     * @param node Row Node to evaluate
     */
    evaluateColumnFilter(columnFilter: ColumnFilter, node: IRowNode): boolean;
    /**
     * Checks if the filter action should trigger Column Filtering
     *
     * @param action Filtering Action
     */
    shouldNewColumnFilterTriggerColumnFiltering(action: LayoutColumnFilterAction | Redux.Action): boolean;
    /**
     * Compares to sets of Column Filters to see if they are identical
     * @param filters1
     * @param filters2
     */
    areColumnFiltersDifferent(oldFilters: ColumnFilter[], newFilters: ColumnFilter[]): boolean;
    getPredicateDefShortcuts(predicateDef: AdaptablePredicateDef): string[];
    showQuickFilterDropdown(columnId: string): boolean;
    openColumnFilterPopup(columnId: string, popupProps?: any): void;
}
