import type { CountryCode } from './country'; import { Purpose } from './enums'; import { ExtendableObject, ExtendableString } from './tsUtils'; export interface TokenRequest { type: ExtendableString<'applepay' | 'googlepay' | 'wallet' | 'shopify' | 'samsungpay' | 'clicktopay'>; token_data: ExtendableObject<{ data: string; }>; [key: string]: any; } export interface TokenResponse { id: string; used: boolean; created: number; object: 'token'; type: ExtendableString<'APPLEPAY' | 'GOOGLEPAY' | 'WALLET' | 'SHOPIFY' | 'SAMSUNGPAY' | 'CLICKTOPAY'>; purpose: ExtendableString<`${Purpose}`>; status: 'ACTIVE' | (string & {}); live_mode: boolean; merchant: { id: string; }; card: { id: string; object: string; brand: string; scheme: string; funding: string; on_file: string; category: string; fingerprint: string; exp_month: number; exp_year: number; last_four: string; first_six: string; first_eight: string; name: string; issuer: { id: string; bank: string; country: string; }; }; payment: { id: string; on_file: false; category: string; fingerprint: string; scheme: 'MASTERCARD' | (string & {}); card_data: { exp_month: number; exp_year: number; last_four: string; first_six: string; first_eight: string; }; issuer: { id: string; bank: string; country: CountryCode; }; }; [key: string]: any; }