import type { Triangle, TriangleKind } from "@actuarial-ts/core"; /** * Long-format ("tidy") triangle assembly: one row per observed * (origin, age) cell, pivoted into the origins x ages grid the engine uses. * * - Origins are sorted lexicographically (matching triangle label order, * e.g. "2019" < "2020", "2021Q1" < "2021Q3"). * - Ages are sorted numerically ascending. * - Pairs absent from the input are null (not yet observable / missing). * - Duplicate (origin, age) pairs are ambiguous and throw * ReservingError("SHAPE", ...), even when the values agree. */ export interface LongFormatRow { origin: string; /** Development age in months. */ age: number; value: number | null; } export interface TriangleFromLongFormatOptions { kind: TriangleKind; } /** Pivots long-format rows into a Triangle via core's triangleFromGrid. */ export declare function triangleFromLongFormat(rows: LongFormatRow[], opts: TriangleFromLongFormatOptions): Triangle; //# sourceMappingURL=longFormat.d.ts.map