export type LumenColumnType = 'text' | 'number' | 'date' | 'boolean' | 'image' | 'richtext' | 'url' | 'unknown'; export interface LumenColumn { field: keyof T & string; header: string; type?: LumenColumnType; width?: number; minWidth?: number; sortable?: boolean; cell?: (value: unknown, row: T) => unknown; } export interface ResolvedColumn extends LumenColumn { resolvedType: LumenColumnType; resolvedWidth: number; /** * Stable, unique key per resolved column. Equals `field` when fields are * unique; otherwise suffixed with the column index to keep React keys safe * (e.g. `title__1`). Use this for `key={col._lumKey}` in renderers. */ _lumKey: string; } export declare function inferColumnType(field: string, rows: Record[]): LumenColumnType; export declare function resolveColumns(columns: LumenColumn[], rows: T[]): ResolvedColumn[]; //# sourceMappingURL=ColumnModel.d.ts.map