import { InvoicingSubscription } from '../../../entity/invoicing/invoicingSubscription/invoicingSubscriptionState'; import { InvoicingSubscriptionFormLocalData } from './editInvoicingSubscriptionDetailViewState'; /** `AddressType` key used when the subscription form opens the shared Address screen. */ export declare const INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE: "invoicing_subscription_shipping_address"; /** * Today as `YYYY-MM-DD`, the default subscription start date. Goes through * dayjs (not `toISOString`, which is UTC) so a user in a UTC+ timezone late in * their day gets their own calendar date rather than yesterday's. */ export declare const invoicingSubscriptionTodayIso: () => string; /** * Clamp a subscription-item quantity to the minimum the API accepts. Shared by * the plan, add-on and charge items so none of them can bill a 0 or a fraction. */ export declare const toInvoicingSubscriptionQuantity: (quantity?: number) => number; /** * Parse the billing-cycles field into what the API should receive, or * `undefined` when the field is empty or unparseable (the payload then omits it * so the backend applies the plan's own limit). * * Deliberately NOT `toInvoicingSubscriptionQuantity`: `0` is a real * remaining-cycles value on a subscription serving its last paid term, and edit * drafts seed it straight off the entity. Clamping it up to `1` would turn a * no-op save of a non-renewing subscription into a one-cycle extension. */ export declare const toInvoicingSubscriptionBillingCycles: (remainingBillingCycles: string) => number | undefined; export declare const initialInvoicingSubscriptionFormLocalData: InvoicingSubscriptionFormLocalData; /** Seed the form draft from an existing subscription entity (edit mode). */ export declare const entityToInvoicingSubscriptionFormLocalData: (subscription?: InvoicingSubscription) => InvoicingSubscriptionFormLocalData;