import { DataType } from '../types/data_type'; export declare enum ColumnAlignment { None = 0, Left = 1, Center = 2, Right = 3 } export interface DataColumnStyle { alignment?: ColumnAlignment; } export interface DataColumnDescriptor { /** Represents the internal column ID. */ id: string; /** Represents the ID of the metadata attribute this column is based on. */ originAttrId?: string; /** The type of data represented by the column. */ type?: DataType; /** The label that is used for this column in UI. */ label: string; /** Indicates whether this column is an aggregate one. */ isAggr?: boolean; /** The display format for the column. */ dfmt?: string; gfct?: string; /** The style of the column to display in UI. */ style?: DataColumnStyle; /** The detailed column description. */ description?: string | null; } export declare class DataColumn { /** The type of data represented by the column. */ readonly type: DataType; /** Represents the internal column ID. */ readonly id: string; /** Indicates whether this column is an aggregate one. */ readonly isAggr: boolean; /** Represents the ID of the metadata attribute this column is based on. */ readonly originAttrId?: string; /** The label that is used for this column in UI. */ label: string; /** The display format for the column. */ displayFormat?: string; groupFooterColumnTemplate?: string; /** The style of the column to display in UI. */ style?: DataColumnStyle; /** The column description. */ description: string | null; calculatedWidth: number; constructor(desc: DataColumnDescriptor); } export declare class DataColumnList { private items; private mapper; private _dateColumnIdx; constructor(); get count(): number; add(colOrDesc: DataColumn | DataColumnDescriptor): number; private updateDateColumnIdx; put(index: number, col: DataColumn): void; move(col: DataColumn, newIndex: number): void; get(index: number): DataColumn; getIndex(id: string): number | undefined; getItems(): DataColumn[]; getDateColumnIndexes(): number[]; removeAt(index: number): void; clear(): void; }