import type { ColumnDef, ColumnGroupingModel, ProcessedColumnGroup, FlattenedColumn } from './types';
export declare function extractFieldsFromGroupingModel<T extends Record<PropertyKey, any>, ID>(items: ColumnGroupingModel<T, ID> | ColumnDef<T, ID>[]): Set<keyof T>;
export declare function reorderColumnsByGroupingModel<T extends Record<PropertyKey, any>, ID>(columns: ColumnDef<T, ID>[], columnGroupingModel: ColumnGroupingModel<T, ID>): ColumnDef<T, ID>[];
export declare function flattenColumnGroups<T extends Record<PropertyKey, any>, ID>(items: ColumnGroupingModel<T, ID> | ColumnDef<T, ID>[], groupPath?: string[], columnIndex?: {
    current: number;
}): FlattenedColumn<T, ID>[];
export declare function calculateColumnGroups<T extends Record<PropertyKey, any>, ID>(columnGroupingModel: ColumnGroupingModel<T, ID>, columns: ColumnDef<T, ID>[]): {
    groups: ProcessedColumnGroup[][];
    maxLevel: number;
    fieldsInGroupingModel: Set<keyof T>;
};
export declare function getTextAlign(props: {
    editMode?: boolean;
    type?: string;
}): "end" | "start";
export declare const numberFormatter: (value: number) => string | number;
