import { ReactNode } from 'react'; import { ColumnType, ColumnTypeConfig, ColumnTypeOptionsMap } from './types'; /** * Display defaults for a column type. * Defines the default formatter and alignment for each column type. */ export type ColumnTypeDefaults = { /** * Default horizontal alignment for the column. */ align: "start" | "center" | "end"; /** * Factory function to create the default renderCell function. * Receives formatter options and returns the renderCell function. */ createRenderCell: (options?: ColumnTypeOptionsMap[ColumnType]) => ((value: unknown, rowDepth: number) => ReactNode) | undefined; }; /** * Mapping of column types to their display defaults. * Used by the column helper to apply sensible defaults based on data type. */ export declare const COLUMN_TYPE_DEFAULTS: Record; /** * Extracts the column type string and options from a ColumnTypeConfig. * * @param config - The column type configuration (string or object) * @returns Tuple of [type string, options object or undefined] * * @example * ```ts * resolveColumnTypeConfig("currency") * // Returns: ["currency", undefined] * * resolveColumnTypeConfig({ type: "currency", options: { currency: "EUR" } }) * // Returns: ["currency", { currency: "EUR" }] * ``` */ export declare function resolveColumnTypeConfig(config: ColumnTypeConfig): [T, ColumnTypeOptionsMap[T] | undefined]; /** * Gets the display defaults for a column type. * * @param type - The column type * @returns The column type defaults (align and createRenderCell) * * @example * ```ts * const defaults = getColumnTypeDefaults("currency"); * // Returns: { align: "end", createRenderCell: ... } * ``` */ export declare function getColumnTypeDefaults(type: ColumnType): ColumnTypeDefaults;