import { isHiddenTicketPurchasable } from '@getmicdrop/svelte-components/transforms'; export interface CtaStateOptions { cancelled?: boolean; isRegistration?: boolean; waitlistEnabled?: boolean; } export interface CtaState { text: string; disabled: boolean; reason: 'cancelled' | 'event_past' | 'no_tickets' | 'available' | 'coming_soon' | 'sold_out_waitlist' | 'sold_out' | 'sales_ended' | 'sales_paused' | 'postponed' | 'hidden_only'; } interface CtaEvent { startDateTime?: string | null; endDateTime?: string | null; hasPurchasableHiddenTickets?: boolean; /** * The event's own LIFECYCLE (MIC-2531) — draft | live | started | ended | * canceled | postponed. Distinct from {@link CtaEvent.salesStatus}, which is * the operator's sales dial: a show can be live with sales paused, and a * postponed show is not the same thing as a paused one however alike the two * look from the till. */ status?: string | null; /** * The operator's sales dial (MIC-2455). On the PUBLIC payload this is already * the effective value — the backend merges any manual override into it. The * ADMIN payload does NOT merge: there `salesStatus` is the computed value and * `salesStatusOverride` is what the operator forced, so an admin-shaped event * read through here would answer with the wrong dial. */ salesStatus?: string | null; /** The venue's IANA timezone — the "On sale …" label reads in it. Detail * events spell it `timezone`, the browse projection `timeZone`. */ timezone?: string | null; timeZone?: string | null; } interface CtaTicket { salesChannel?: number; salesBegin?: string | null; salesStart?: string | null; saleBegin?: string | null; onSaleStart?: string | null; salesEnd?: string | null; saleEnd?: string | null; onSaleEnd?: string | null; remainingCapacity?: number | null; quantityRemaining?: number | null; quantity?: number | null; soldOut?: boolean; isHidden?: boolean; visibility?: number; } export { isHiddenTicketPurchasable }; export declare function computeCtaState(event: CtaEvent, tickets: CtaTicket[] | undefined, options?: CtaStateOptions): CtaState;