export type PaymentAttemptStatus = 'failed' | 'blocked';

export type AccountBlockedVariant = 'overdue' | 'last_chance';

export interface PaymentAttempt {
    label: string;
    sublabel: string;
    status: PaymentAttemptStatus;
}

export interface RestoreAccessStep {
    number: number;
    title: string;
    description: string;
}

export interface AccountBlockedViewModel {
    variant: AccountBlockedVariant;
    is_pay_as_you_go: boolean;
    outstanding_balance: number;
    billing_period: string;
    vat_rate_percent: number;
    charge_count: number;
    max_attempts: number;
    last_attempt_label: string;
    payment_attempts: PaymentAttempt[];
    steps: RestoreAccessStep[];
    support_email: string;
    support_phone: string;
    days_until_cold_archive: number;
    cold_archive_at: string | null;
}
