import { DateTime } from 'luxon';
/**
 * O&M anniversary display year (1–10) containing `anchorDateIso`, same windows as computeOmTenYearRows (B/C).
 */
export declare function resolveOmDisplayYearContainingAnchor(omStartDateIso: string, anchorDateIso: string, zone: string): number | null;
/**
 * Authoritative 1–10 O&M display year for `asOfDay` (calendar in `zone`): same windows as
 * {@link resolveOmDisplayYearContainingAnchor}. Before start date → 1; on/after last day of year 10 → 10.
 */
export declare function resolveOmSchemeYearAsOfCalendar(omStartDateIso: string, asOfDay: DateTime, zone: string): number;
/**
 * Prefer year band containing billing `pendingFrom`; else any band overlapping `[pendingFrom, pendingTo]`.
 */
export declare function resolveCurrentOmDisplayYearForPendingBill(omStartDateIso: string, pendingFromIso: string, pendingToIso: string, zone: string): number | null;
/** 1-based display year (matches `MULTIPLIER_BY_YEAR` keys); null if anchor cannot be placed in years 1–10. */
export declare function omYearFromInvoiceAnchorDate(omStartDateIso: string | null | undefined, invoiceFromDateOrBillingIso: string | null | undefined, zone: string): number | null;
/**
 * Same calendar day as `om_start_date + 10 years` (start of day in `zone`). The O&M service period for the
 * **last** scheme year ends the day **before** this. `period_to` must be **strictly before** this date.
 */
export declare function omTenYearExclusiveEndDateTime(omStartDateIso: string, zone: string): DateTime | null;
/**
 * True if the scheduler billing anchor (typically “tomorrow”) may still produce a scheduled O&M invoice.
 * Anchors **on** `om_start_date + 10 years` are allowed (that run bills through the last day of year 10).
 * The first disallowed anchor is the **day after** `om_start_date + 10 years`.
 */
export declare function isOmScheduledBillingAnchorWithinTenYears(omStartDateIso: string, anchorDate: DateTime, zone: string): boolean;
/** True if O&M line `period_to` (from `computeOmBillPeriod` in `omBillingPeriod`) is still within the 10-year window. */
export declare function isOmBillPeriodEndWithinTenYears(omStartDateIso: string, periodTo: DateTime, zone: string): boolean;
//# sourceMappingURL=resolveOmBillDisplayYear.d.ts.map