/** * Pure rendering utilities for the record age distribution grid. * * Converts RecordAgeDistribution data into table-ready row objects * for makeTable() rendering. Uses the same filled/empty circle metaphor * as availability-grid.ts for visual consistency. * * @module utils/formatting/record-age-grid */ import type { RecordAgeDistribution, YearRecordAge } from '../../services/ObjectDescribeService.js'; /** * A single row of the record age grid formatted for table display. * * Uses `Record` for compatibility with makeTable() generics. * Dynamic year columns are keyed as "y{year}" (e.g., "y2026", "y2025"). * The "oldest" key holds the oldest record date or "—". */ export type RecordAgeTableRow = Record; /** * Builds column definitions for the record age table. * * Returns one column per year in the distribution (newest first), * followed by an "Oldest" column for the oldest record date. * * @param years - The year entries from RecordAgeDistribution * @returns Column definitions for makeTable() */ export declare function buildRecordAgeColumns(years: readonly YearRecordAge[]): Array<{ key: string; name: string; }>; /** * Builds table-ready row data from a RecordAgeDistribution. * * Produces a single row with filled/empty circle symbols per year * and the oldest record date. * * @param distribution - The record age distribution from ObjectDescribeService * @returns Array containing one row object suitable for makeTable() */ export declare function buildRecordAgeTableData(distribution: RecordAgeDistribution): RecordAgeTableRow[];