/** * Shared shape of the platform's delinquency payloads. `AccountDelinquency` * and `TeamDelinquency` are structurally identical — each carries the two * scheduled timestamps (or `null` when nothing is scheduled) — so a single * formatter serves both. */ export interface DelinquencySchedule { scheduled_deletion_time: null | string; scheduled_suspension_time: null | string; } /** The kind of resource a delinquency applies to; used in the message text. */ export type DelinquencyResource = 'account' | 'team'; /** * Format the delinquency warning sentence for a resource, or `undefined` when * there is nothing to say. Pure — formatting only; the caller emits it. * * Produces a message for an upcoming suspension, a past suspension with an * upcoming deletion, or an upcoming deletion. Returns `undefined` when neither * timestamp is set, or when a suspension is already past with no deletion * scheduled. Dates render in UTC so the message reads the same for every * consumer. `now` defaults to the wall clock and is injectable for testing. */ export declare function formatDelinquencyWarning(resource: DelinquencyResource, delinquency: DelinquencySchedule | null | undefined, now?: number): string | undefined;