export type PerCapitaSupplyImportRow = {
    sno: number;
    dateIso: string;
    dateDisplay: string;
    emf: number;
};
export type PerCapitaSupplyParseResult = {
    baselineRow: PerCapitaSupplyImportRow;
    reportRows: PerCapitaSupplyImportRow[];
};
export type PerCapitaSupplyFileMeta = {
    originalname?: string;
    mimetype?: string;
};
export declare function parsePerCapitaSupplyFile(buffer: Buffer, options: {
    timezone: string;
    meta?: PerCapitaSupplyFileMeta;
}): PerCapitaSupplyParseResult;
export declare function formatInvoiceBillingPeriodLabel(fromIso: string, toIso: string, timezone: string): string;
/**
 * Baseline row (Excel S.No. 1) is excluded from the report; its date must be the day before
 * the first report row (Excel S.No. 2).
 */
export declare function validatePerCapitaBaselineRow(baselineRow: PerCapitaSupplyImportRow, firstReportRow: PerCapitaSupplyImportRow | undefined, timezone: string): void;
export declare function validatePerCapitaReportRowCount(reportRowCount: number, fromIso: string, toIso: string, timezone: string): void;
export declare function validatePerCapitaReportDates(reportRows: PerCapitaSupplyImportRow[], fromIso: string, toIso: string, timezone: string): void;
/** Validates baseline exclusion and report dates against invoice from/to (inclusive). */
export declare function validatePerCapitaSupplyAgainstInvoicePeriod(parsed: PerCapitaSupplyParseResult, fromIso: string, toIso: string, timezone: string): void;
//# sourceMappingURL=perCapitaSupplyImport.parse.d.ts.map