import { ApiBase } from './ApiBase';
import { AdaptableColumn, AdaptableColumnDataType } from '../../PredefinedConfig/Common/AdaptableColumn';
import { ColumnApi, ColumnConfig } from '../ColumnApi';
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
import { ColumnInternalApi } from '../Internal/ColumnInternalApi';
import { ColDef, ColGroupDef } from '@ag-grid-community/core';
export declare function isAutoRowGroupColumn(columnId: string): boolean;
export declare function isAutoPivotColumn(columnId: string): boolean;
export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
    internalApi: ColumnInternalApi;
    constructor(_adaptable: IAdaptable);
    getColumns(): AdaptableColumn[];
    getStandardColumns(): AdaptableColumn[];
    getNonSpecialColumns(): AdaptableColumn[];
    getVisibleColumns(): AdaptableColumn[];
    selectColumn(columnId: string): void;
    selectColumns(columnIds: string[]): void;
    addColumnToSelection(columnId: string): void;
    addColumnsToSelection(columnIds: string[]): void;
    selectAllColumns(): void;
    autosizeColumn(columnId: string): void;
    autosizeColumns(columnIds: string[]): void;
    autosizeAllColumns(): void;
    hideColumn(columnId: string): void;
    showColumn(columnId: string): void;
    isAutoRowGroupColumn(columnId: string): boolean;
    isAutoPivotColumn(columnId: string): boolean;
    isActionRowButtonColumn(columnId: string): boolean;
    isCalculatedColumn(columnId: string): boolean;
    isFreeTextColumn(columnId: string): boolean;
    isActionColumn(columnId: string): boolean;
    getColumnWithColumnId(columnId: string, logWarning?: boolean): AdaptableColumn | undefined;
    hasNumberDataType(columnId: string): boolean;
    hasBooleanDataType(columnId: string): boolean;
    hasArrayDataType(columnId: string): boolean;
    hasStringArrayDataType(columnId: string): boolean;
    hasNumericArrayDataType(columnId: string): boolean;
    hasDateDataType(columnId: string): boolean;
    getColumnDataTypeForColumnId(columnId: string): AdaptableColumnDataType | undefined;
    getFriendlyNameForColumnId(columnId: string): string;
    doesColumnExist(columnId: string): boolean;
    getFriendlyNamesForColumnIds(columnIds: string[]): string[];
    getColumnIdForFriendlyName(friendlyName: string): string;
    getColumnIdsForFriendlyNames(friendlyNames: string[]): string[];
    getColumnsWithFriendlyNames(friendlyNames: string[]): AdaptableColumn[];
    getColumnsWithColumnIds(columnIds: string[], logWarning?: boolean): AdaptableColumn[];
    isColumnInGrid(columnId: string): boolean;
    getColumnWithFriendlyName(columnFriendlyName: string, logWarning?: boolean): AdaptableColumn;
    getColumnsOfType(dataType: AdaptableColumnDataType): AdaptableColumn[];
    getNumericColumns(): AdaptableColumn[];
    getNumericArrayColumns(): AdaptableColumn[];
    getNumberArrayColumns(): AdaptableColumn[];
    getTupleNumberArrayColumns(): AdaptableColumn[];
    getObjectNumberArrayColumns(): AdaptableColumn[];
    getStringColumns(): AdaptableColumn[];
    getStringArrayColumns(): AdaptableColumn[];
    getDateColumns(): AdaptableColumn[];
    getBooleanColumns(): AdaptableColumn[];
    getArrayColumns(): AdaptableColumn[];
    getSortableColumns(): AdaptableColumn[];
    getFilterableColumns(): AdaptableColumn[];
    getGroupableColumns(): AdaptableColumn[];
    getPivotableColumns(): AdaptableColumn[];
    getAggregatableColumns(): AdaptableColumn[];
    getQueryableColumns(): AdaptableColumn[];
    getExportableColumns(): AdaptableColumn[];
    private logMissingColumnWarning;
    getPrimaryKeyColumn(): AdaptableColumn<any>;
    getDefaultAggFunc(columnId: string): string;
    isSpecialColumn(columnId: string): boolean;
    openColumnInfoSettingsPanel(): void;
    getColumnTypes(): string[];
    getColumnsByColumnType(columnType: string): AdaptableColumn[];
    getRowGroupedColumns(): AdaptableColumn[];
    getDistinctDisplayValuesForColumn(columnId: string): any[];
    setColumnCaption(columnId: string, caption: string): void;
    updateColumnConfiguration(columnConfig: ColumnConfig): void;
    updateColumnConfigurations(columnConfigs: ColumnConfig[]): void;
    setColumnDefinitions(columnDefinitions: (ColDef | ColGroupDef)[]): void;
}
