import type { PayoutBatch, StripeMap } from "./types.js"; /** A single card charge after VAT split โ€” kept for preview detail, not booked individually. */ export interface ChargePlan { chargeId: string; grossMinor: number; netMinor: number; vatMinor: number; vatSource: "stripe-tax" | "rate"; created: number; description: string | null; } export interface PayoutPlan { payoutId: string; currency: string; arrivalDate: number; /** Unix seconds to date the GL batch on: the ยง11 VAT-period anchor (charge month), * which equals arrivalDate except for a month-end straddle. See period.ts. */ bookingDate: number; payoutNetMinor: number; charges: ChargePlan[]; /** Aggregates across all charges โ€” what the summary GL books. */ grossMinor: number; netMinor: number; vatMinor: number; fees: { stripeFeeMinor: number; platformFeeMinor: number; refundMinor: number; otherFeeMinor: number; }; imbalanceMinor: number; warnings: string[]; /** True only when the batch balances and there are no blocking warnings. */ bookable: boolean; } /** Build the summary plan for one payout. Pure โ€” no Merit/Stripe calls. */ export declare function planPayout(batch: PayoutBatch, map: StripeMap): PayoutPlan;