import { ApiBase } from '../Implementation/ApiBase';
import { AdaptablePredicate, AdaptablePredicateDef } from '../../AdaptableState/Common/AdaptablePredicate';
import { SystemFilterPredicateId } from '../../AdaptableState/Common/ColumnFilter';
import { AdaptableColumnDataType } from '../../AdaptableState/Common/AdaptableColumn';
import { ColumnScope } from '../../types';
export declare class PredicateInternalApi extends ApiBase {
    /**
     * Returns true if the predicate has a dropdown.
     *
     * @param predicate
     */
    hasPredicateValues(predicate: AdaptablePredicate): boolean;
    /**
     * Get all Filter Predicate Definitions - System and Custom
     */
    getFilterPredicateDefs(scope: ColumnScope): AdaptablePredicateDef[];
    private getSystemFilterPredicateIds;
    /**
     * Get all Alert Predicate Definitions - System and Custom
     */
    getAlertPredicateDefs(scope: ColumnScope): AdaptablePredicateDef[];
    private getSystemAlertPredicateIds;
    private getSystemBadgeStylePredicateIds;
    /**
     * Get all Format Column Predicate Definitions - System and Custom
     */
    getFormatColumnPredicateDefs(scope: ColumnScope): AdaptablePredicateDef[];
    private getSystemFormatColumnPredicateIds;
    /**
     * Get all Flashing Cell Predicate Definitions - System and Custom
     */
    getFlashingCellPredicateDefs(scope: ColumnScope): AdaptablePredicateDef[];
    private getSystemFlashingCellPredicateIds;
    /**
     * Gets the correct Equality-type System Predicate for a particular DataType
     * @param dataType DataType of Column
     */
    getEqualityPredicateForDataType(dataType: AdaptableColumnDataType): SystemFilterPredicateId;
    /**
     * Get all Badge Style Predicate Definitions - System and Custom
     */
    getBadgeStylePredicateDefs(scope: ColumnScope): AdaptablePredicateDef[];
    /**
     * Merges System and Custom Predicate Definitions but ensures that Custom ones take precedence
     * (i.e. if there is a Custom Predicate with the same Id as a System one, the Custom one is used)
     */
    mergeSystemAndCustomPredicates(systemDefs: AdaptablePredicateDef[], customDefs: AdaptablePredicateDef[]): AdaptablePredicateDef[];
}
