import { ColumnDefinition, DataType, OffsetsByIndex, PinBoundaries, RowData } from './table.types';
export declare const ALL_ROWS_KEY = "all-rows";
export declare enum EditControl {
    save = "save",
    cancel = "cancel"
}
export declare const EditControls: string[];
export declare enum RowControl {
    update = "update",
    delete = "delete"
}
export declare const RowControls: string[];
export declare enum TableClasses {
    body = "anj-table-body",
    caption = "anj-column-caption",
    detail = "anj-row-detail",
    detailCell = "anj-row-detail-cell",
    detailRow = "anj-detail-row",
    detailWrapper = "anj-row-detail-wrapper",
    editCell = "anj-form-cell",
    header = "anj-table-head",
    row = "anj-row",
    rowGroupHeader = "anj-row-group-header",
    table = "anj-table"
}
export declare const calculateOffsets: (cols: ColumnDefinition[]) => OffsetsByIndex;
export declare const columnOffset: (cols: ColumnDefinition[]) => number;
export declare const calculatePinBoundaries: (leftCount: number, rightCount: number, scrollCount: number) => PinBoundaries;
export declare const keyFromData: (key: any) => string | number;
export declare const colCellsFromCell: (el: HTMLTableCellElement) => HTMLTableCellElement[];
export declare const columnFromCell: (columns: ColumnDefinition[], cell: HTMLElement) => any;
export declare const implicitColumnFactory: (fields: string[], data: RowData[]) => Partial<ColumnDefinition>[];
export declare const inferDataType: (value: any) => DataType;
export declare const persistColumn: (column: ColumnDefinition) => Partial<ColumnDefinition>;
