import type { MeritClient } from "../client/merit-client.js"; import type { PayoutPlan } from "./plan.js"; import type { StripeMap } from "./types.js"; /** Unix seconds → "YYYYMMDD" in the VAT-period timezone (default Europe/Tallinn). */ export declare function unixToYmd(unix: number, timeZone?: string): string; /** * Build the sendglbatch (v1) body for one payout: a single summary entry. * Returns null only if the payout has no charges and no fees (nothing to book). * The explicit rows are short by exactly `vat` (Σ debit − Σ credit == vat); Merit * supplies that VAT credit implicitly from the revenue line's VatAmount tag, so the * posted batch balances. See the VAT note in the module header. */ export declare function buildPayoutGl(plan: PayoutPlan, map: StripeMap): Record | null; export interface ExecuteResult { payoutId: string; glPosted: boolean; glResult?: unknown; } /** * Execute a bookable plan against Merit: post the single summary GL batch. The caller * records the payout in the idempotency ledger only on success. Throws on failure. */ export declare function executePlan(client: MeritClient, plan: PayoutPlan, map: StripeMap): Promise;