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<ColumnType, ColumnTypeDefaults>;
/**
 * 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<T extends ColumnType>(config: ColumnTypeConfig<T>): [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;
