export declare type PaymentVariant = 'bank' | 'card' | 'gift-certificate'; export interface BasePaymentMethod { variant: PaymentVariant; } export interface BankPaymentMethod extends BasePaymentMethod { accountNumber: string; driversLicenseNumber?: string; driversLicenseStateCode: string; holder?: string; routingNumber: string; variant: 'bank'; } export interface CardPaymentMethod extends BasePaymentMethod { cardType?: string; creditCardToken?: string; expirationMonth: number; expirationYear: number; holder?: string; isExpired?: boolean; issueNumber?: string; maskedNumber?: string; number?: string; numberLastDigits?: string; securityCode?: string; validFromMonth?: number; validFromYear?: number; variant: 'card'; } export interface GiftCertificatePaymentMethod extends BasePaymentMethod { code?: string; maskedCode?: string; variant: 'gift-certificate'; } export interface PaymentMethod { details: BankPaymentMethod | CardPaymentMethod | GiftCertificatePaymentMethod; id: string; }