/**
 * Types for the billing / payment system.
 *
 * Stripe Checkout Sessions for recurring subscriptions.
 * Plans are served from the backend via the heartbeat response and displayed
 * by the subscription gate when the subscription expires.
 */
/**
 * A subscription plan served by the backend.
 */
export interface BillingPlan {
    id: string;
    name: string;
    amount: number;
    currency: string;
    description: string;
}
/**
 * Payload used by the subscription gate to display plan choices.
 * The backend provides plan data in the heartbeat response.
 */
export interface PaymentRequiredPayload {
    /** Optional message to display to the user */
    message?: string;
    /** Available subscription plans (populated by the backend) */
    plans: BillingPlan[];
}
/**
 * Callback data prefixes used in Telegram inline keyboard buttons.
 */
export declare const BILLING_CALLBACK_PREFIX = "billing:";
export declare const BILLING_PLAN_CALLBACK_PREFIX = "billing:plan:";
export declare const BILLING_BUNDLE_CALLBACK_PREFIX = "billing:bundle:";
/**
 * Allowed dollar amounts for bundle (one-time top-up) purchases.
 * Keep in sync with BUNDLE_ALLOWED_AMOUNTS in services/onboarding/src/lib/billing.ts.
 */
export declare const BUNDLE_ALLOWED_AMOUNTS: readonly number[];
/**
 * Payload carried by the `bundle_purchase` heartbeat command.
 * The admin triggers this with a list of allowed dollar amounts.
 */
export interface BundlePurchasePayload {
    /** Reason the bundle was offered (e.g. "Admin offered bundle top-up") */
    reason?: string;
    /** Allowed dollar amounts the user can pick from */
    amounts: number[];
}
//# sourceMappingURL=types.d.ts.map