import { ApiBase } from './ApiBase';
import { AdaptableColumn, AdaptableColumnDataType } from '../../AdaptableState/Common/AdaptableColumn';
import { Layout } from '../../types';
import { ColumnApi } from '../ColumnApi';
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
import { ColumnInternalApi } from '../Internal/ColumnInternalApi';
import { ColDef, ColGroupDef, Column } from 'ag-grid-enterprise';
export declare function isAutoRowGroupColumn(columnId: string): boolean;
export declare function generateAutoRowGroupSingleColumn(): AdaptableColumn;
export declare function generateAutoTreeSingleColumn(): AdaptableColumn;
export declare function generateAutoRowGroupColumnForColumn(column: AdaptableColumn): AdaptableColumn;
export declare function getFriendlyNameForPivotResultColumn(columnId: string): string;
export declare function isPivotResultColumn(columnId: string): boolean;
export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
    internalApi: ColumnInternalApi;
    constructor(_adaptable: IAdaptable);
    getColumns(): AdaptableColumn[];
    getSpecialColumns(): AdaptableColumn[];
    getNonSpecialColumns(): AdaptableColumn[];
    getUIAvailableColumns(): 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;
    isPivotResultColumn(columnId: string): boolean;
    isAutoRowGroupColumnForSingle(columnId: string): boolean;
    isAutoRowGroupColumnForMulti(columnId: string): boolean;
    isCalculatedColumn(columnId: string): boolean;
    isFreeTextColumn(columnId: string): boolean;
    isActionColumn(columnId: string): boolean;
    isFdc3Column(columnId: string): boolean;
    getColumnWithColumnId(columnId: string, logWarning?: boolean): AdaptableColumn | undefined;
    hasNumberDataType(columnId: string): boolean;
    hasBooleanDataType(columnId: string): boolean;
    hasArrayDataType(columnId: string): boolean;
    hasTextArrayDataType(columnId: string): boolean;
    hasNumericArrayDataType(columnId: string): boolean;
    hasDateDataType(columnId: string): boolean;
    getColumnDataTypeForColumnId(columnId: string): AdaptableColumnDataType | undefined;
    getFriendlyNameForColumnId(columnId: string, layout?: Layout): 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;
    getColumnsWithDataType(dataType: AdaptableColumnDataType): AdaptableColumn[];
    getNumericColumns(): AdaptableColumn[];
    getNumericArrayColumns(): AdaptableColumn[];
    getNumberArrayColumns(): AdaptableColumn[];
    getTupleNumberArrayColumns(): AdaptableColumn[];
    getObjectNumberArrayColumns(): AdaptableColumn[];
    getTextColumns(): AdaptableColumn[];
    getTextArrayColumns(): AdaptableColumn[];
    getDateColumns(): AdaptableColumn[];
    getBooleanColumns(): AdaptableColumn[];
    getArrayColumns(): AdaptableColumn[];
    getSortableColumns(): AdaptableColumn[];
    getFilterableColumns(): AdaptableColumn[];
    getGroupableColumns(): AdaptableColumn[];
    getPivotableColumns(): AdaptableColumn[];
    getAggregatableColumns(): AdaptableColumn[];
    getQueryableColumns(): AdaptableColumn[];
    getExportableColumns(): AdaptableColumn[];
    getAlwaysHiddenColumns(): AdaptableColumn[];
    private logMissingColumnWarning;
    getPrimaryKeyColumn(): AdaptableColumn<any>;
    getDefaultAggFunc(columnId: string): string;
    openColumnInfoSettingsPanel(): void;
    getColumnTypes(): string[];
    getColumnsByColumnType(columnType: string): AdaptableColumn[];
    getRowGroupedColumns(): AdaptableColumn[];
    setColumnCaption(columnId: string, caption: string): void;
    getAGGridColDefForColumnId(columnId: string): ColDef | ColGroupDef;
    getAGGridColumnForColumnId(columnId: string): Column;
}
