import type { ExposureRecord } from "@actuarial-ts/core"; import { z } from "zod"; /** Runtime schema for an exposure record after CSV field parsing. */ export declare const exposureRecordSchema: z.ZodEffects; exposureUnits: z.ZodNullable; }, "strict", z.ZodTypeAny, { origin: string; earnedPremium: number | null; exposureUnits: number | null; }, { origin: string; earnedPremium: number | null; exposureUnits: number | null; }>, { origin: string; earnedPremium: number | null; exposureUnits: number | null; }, { origin: string; earnedPremium: number | null; exposureUnits: number | null; }>; export interface ExposureRowError { /** 1-based physical file line where the row starts. */ row: number; message: string; } export interface ExposureParseResult { exposures: ExposureRecord[]; errors: ExposureRowError[]; } /** * Parses origin-period exposure data. * * Required header: `origin`, plus at least one of `earned_premium` or * `exposure_units`. Either numeric field may be blank on an individual row, * but not both. Extra source fields (for example gross written premium or a * source claim count) are intentionally preserved in the caller's source file * and ignored here rather than relabeled as an SDK measure. */ export declare function parseExposureCsv(text: string): ExposureParseResult; //# sourceMappingURL=exposure.d.ts.map