import { AdaptableColumnDataType } from './AdaptableColumn';
/**
 * Base Settings for both Calculated and FreeText Columns
 */
export interface SpecialColumnSettings {
    /**
     *  Expression's return value DataType, only mandatory property
     */
    DataType: AdaptableColumnDataType;
    /**
     * Preferred (pixel) Column Width; if unset, calculated dynamically by AG Grid
     */
    Width?: number;
    /**
     * Whether Column is filterable
     * @defaultValue false
     */
    Filterable?: boolean;
    /**
     * Whether Column can be resized (by dragging column header edges)
     * @defaultValue false
     */
    Resizable?: boolean;
    /**
     * Whether Column can be grouped
     * @defaultValue false
     */
    Groupable?: boolean;
    /**
     * Whether Column is sortable
     * @defaultValue false
     */
    Sortable?: boolean;
    /**
     * Whether Column can be used when grid is in pivot mode
     * @defaultValue false
     */
    Pivotable?: boolean;
    /**
     * Whether Column can be used in an aggregation when grouping
     * @defaultValue false
     */
    Aggregatable?: boolean;
    /**
     * Whether if no menu should be shown for this Column header.
     * @defaultValue false
     */
    SuppressMenu?: boolean;
    /**
     * Whether if this Column should be movable via dragging
     * @defaultValue false
     */
    SuppressMovable?: boolean;
    /**
     * Custom column types added to AG Grid Column Types when object is created
     */
    ColumnTypes?: string[];
    /**
     * Tooltip to show in the Column Header (not cells)
     */
    HeaderToolTip?: string;
}
