import { AdaptableAgGrid } from './AdaptableAgGrid';
import { ColumnSetupInfo } from '../AdaptableState/Common/ColumnSetupInfo';
import { ColDef, ColGroupDef, Column, GridOptions } from 'ag-grid-enterprise';
import { AdaptableColumnDataType } from '../AdaptableState/Common/AdaptableColumn';
import { AdaptableVariant } from '../AdaptableInterfaces/IAdaptable';
export declare function getEditorForColumnDataType(columnDataType: AdaptableColumnDataType, variant: AdaptableVariant): ColDef['cellEditor'];
export declare class AgGridColumnAdapter {
    private adaptableInstance;
    private colDefPropertyCache;
    constructor(adaptableInstance: AdaptableAgGrid);
    private getVariant;
    destroy(): void;
    private get adaptableApi();
    private get adaptableOptions();
    private get agGridApi();
    setColDefProperty<T extends keyof ColDef>(col: Column, propertyName: T, propertyGetter: (userPropertyValue: ColDef[T]) => ColDef[T] | undefined): void;
    getUserColDefProperty<T extends keyof ColDef>(columnId: string, propertyName: T): ColDef[T] | undefined;
    shouldSkipColumn(colId: string): boolean;
    setupColumns(): void;
    private setupColumnValueGetter;
    private setupColumnCellClass;
    private setupColumnCellStyle;
    private setupColumnCellEditor;
    private setupColumnCellRenderer;
    private setupColumnTooltipValueGetter;
    private setupColumnQuickFilterText;
    private setupColumnAllowedAggFuncs;
    private setupColumnType;
    private setupColumnCellDataType;
    setupColumnHeader({ col, abColumn }: ColumnSetupInfo): boolean;
    private setupColumnFilter;
    setupColumnFloatingFilterTemporarily(initialGridOptions: GridOptions): void;
    private setupColumnFloatingFilter;
    private setupColumnValueFormatter;
    private setupColumnEditable;
    private setupColumnValueSetter;
    private setupColumnComparator;
    private isQuickSearchActive;
    private getEditableCellClass;
    private getReadonlyCellClass;
    private getEditedCellClass;
    private getAlertCellClass;
    private getFlashingCellClass;
    private getNoteCellClassName;
    private getCommentCellClassName;
    private getFormatColumnCellClass;
    private getQuickSearchCellStyle;
    private getReadOnlyCellStyle;
    private getEditableCellStyle;
    private getEditedCellStyle;
    /**
     * The combination of styled column and format cells
     * This functiond decides when the two can be merged.
     */
    private getFormatColumnAndStyledColumnCellStyle;
    private getStyledColumnStyle;
    private getFormatColumnCellStyle;
    private getFormatColumnAdaptableStyle;
    private getAlertCellStyle;
    private getFlashingCellStyle;
    private getCellHighlightStyle;
    isColGroupDef(columnDefinition: ColDef | ColGroupDef): columnDefinition is ColGroupDef;
}
