import { type JSX, type ReactNode } from 'react'; export interface PrintFriendlyTableCol { key: string; label: ReactNode; width?: string | number; alignment?: 'left' | 'right' | 'center'; fitContent?: boolean; accumulate?: boolean; } export interface PrintFriendlyTableRow { key: string | number; dataCy?: string; /** Used when no `cols` are given: a plain label/value row. */ label?: ReactNode; value?: ReactNode; /** If false, the row is omitted entirely when its value is empty. */ renderEmpty?: boolean; /** Used when `cols` are given: one field per column key. */ [columnKey: string]: unknown; } interface PrintFriendlyTableProps { rows?: PrintFriendlyTableRow[]; cols?: PrintFriendlyTableCol[]; tableCy?: string; id?: string | number; } /** * Renders a table optimized for printing: controlled spacing that avoids * overflow on paper, and rows with an empty value omitted (unless * `renderEmpty` is set) so printouts don't carry empty clutter. Columns * flagged `accumulate` get a totals row via AccumulationFooter. */ export declare function PrintFriendlyTable({ rows, cols, tableCy, id, }: PrintFriendlyTableProps): JSX.Element; export {};