import { ReactNode } from 'react'; import { ColumnPropsOf, TableColumn, TableRow } from './types.js'; import { ColumnPropsMap } from './generated.js'; export type ColumnCellArgs = { column: TableColumn; props: ColumnPropsOf; row: TableRow; value: unknown; }; export type ColumnCellComponent = (args: ColumnCellArgs) => ReactNode; export type ColumnRegistry = Record; export declare const COLUMN_REGISTRY_EXTENSION = "table.columns"; export declare function useColumnRegistry(): ColumnRegistry; export type ColumnRegistryFor = Record; /** * Registers a typed column cell, erasing the type parameter so it fits the * registry. Mirrors `eagerComponent`/`lazyComponent` for the component registry: * author against `ColumnCellComponent<"my.type">` for typed `props`, register * through this. */ export declare function columnCell(cell: ColumnCellComponent): ColumnCellComponent;