import type { ColDef } from 'ag-grid-community'; import type { CustomCellRendererProps } from 'ag-grid-react'; export interface BalanceLine { /** User-visible label for this line. */ label: string; /** Field name on the row whose numeric value is rendered. */ valueField: string; /** `'currency'` renders via Intl, `'percent'` appends `%`, `'number'` raw. Default `'number'`. */ format?: 'currency' | 'percent' | 'number'; } export interface BalanceCellRendererParams { lines: BalanceLine[]; /** ISO 4217 code, used by `currency`-formatted lines. Default `'EUR'`. */ currency?: string; /** Apply destructive color to negative values. */ highlightNegative?: boolean; } /** * Renders a compact set of label / value pairs inside a single AG Grid cell. * * Layout is **horizontal** with middle-dot separators so the cell fits * inside the default AG Grid row height without spilling into the row * below. Use the SALDI / Listini patterns (Totale · Incassato · Da Incassare) * as the canonical example. * * If a consumer's content wraps (long localized labels, narrow columns) * they can opt into row auto-growth by spreading * {@link balanceCellRendererColDefDefaults} onto the column definition. */ export declare function BalanceCellRenderer(props: CustomCellRendererProps & BalanceCellRendererParams): import("react/jsx-runtime").JSX.Element | null; /** * Column-definition defaults consumers can spread onto a `ColDef` when they * want the renderer's wrapped / multi-line behaviour to grow the row. * * The default compact horizontal layout is engineered to fit the standard * AG Grid row height, so this opt-in is only needed when a long label set * wraps across two or more lines and the consumer would rather grow the * row than wrap silently. * * AG Grid does NOT auto-grow row height to fit a tall cell unless * `autoHeight` and `wrapText` are set on the colDef itself — a cell * renderer can't impose that from inside. * * @example * ```ts * { * headerName: 'Saldi', * cellRenderer: BalanceCellRenderer, * cellRendererParams: { lines, currency: 'EUR' }, * ...balanceCellRendererColDefDefaults, * } * ``` */ export declare const balanceCellRendererColDefDefaults: Readonly>; //# sourceMappingURL=balance-cell-renderer.d.ts.map