import { ApiBase } from '../Implementation/ApiBase';
import { ColDef, Column, HeaderValueGetterParams, IRowNode } from 'ag-grid-enterprise';
import { CustomSort } from '../../AdaptableState/CustomSortState';
import { ColumnValuesComparer } from '../../AdaptableOptions/CustomSortOptions';
import { AdaptableColumn, AdaptableColumnDataType } from '../../types';
export declare function getAutoRowGroupColumnIdFor(columnId: string): string;
export declare class ColumnInternalApi extends ApiBase {
    /**
     * Retrieves 'ColumnType' property for a given Column
     *   isCumulativeAggregate(input: string): boolean {
     *     return !!this.getNodesFromExpression(input, 'CUMUL')?.length;
     *   }
     * @param columnId Column to use
     */
    getAgGridColumnType(columnId: string): string | string[];
    getAllAgGridColumnTypes(): string[];
    /**
     * Retrieves a list providing the Friendly Name / Caption for all columns
     */
    getAllColumnFriendlyNames(): string[];
    getAutoRowGroupColumnIdFor(columnId: string): string;
    /**
     * Retrieves AG Grid's field property for the column
     * @param columnId columnId to look up
     */
    getAgGridColumnFieldForAdaptableColumn(columnId: string): string;
    /**
     * Retrieves AG Grid's column for an Adaptable column
     * @param columnId columnId to look up
     */
    getAgGridColumnForAdaptableColumn(columnId: string): Column;
    getActiveColumnComparator(columnId: string, customSort?: CustomSort, customSortComparer?: ColumnValuesComparer): (valueA: any, valueB: any, nodeA?: IRowNode, nodeB?: IRowNode, isInverted?: boolean) => number | undefined;
    isSpecialColumn(columnId: string, column?: AdaptableColumn): boolean;
    getColumnHeaderName(params: HeaderValueGetterParams): string;
    private buildColumnHeaderContext;
    hasArrayDataType(column: AdaptableColumn): boolean;
    getQueryableColumnsForUIEditor(): AdaptableColumn[];
    isAlwaysHiddenColumn(columnIdentifier: string | ColDef): boolean;
    getColumnDateTypes(): AdaptableColumnDataType[];
}
