export interface User { user: UserProfile; } export interface UserProfile { id: string; email: string; secondaryEmail?: string; password?: string; title?: string; firstName: string; lastName: string; primaryTelephone: string; jobTitle?: string; graduationDate?: string; homeAddress: HomeAddress; demographics?: Demographics; allowanceSize?: number; source?: string; organisationName?: string; organisationId?: string; isEmailVerified?: boolean; creationDate?: string; } export interface HomeAddress { country: string; postcode: string; line1?: string; line2?: string; townCity?: string; state?: string; } export interface Demographics { industry: DemographicCode; position: DemographicCode; responsibility: DemographicCode; } export interface DemographicCode { code: string; } export interface BillingDetails { type: string; creditCard?: CreditCard; directDebit?: DirectDebit; paypal?: PayPal; } export interface CreditCard { apple: boolean; billingAddress: BillingAddress; expirationMonth: string; expirationYear: string; maskedNumber: string; type: string; } export interface DirectDebit { bankCode: string; billingAddress: BillingAddress; maskedBankAccountNumber: string; } export interface PayPal { email: string; type: string; } export interface B2B { jobTitle: string; graduationDate: string; organisationName?: string; } export interface BillingAddress { country: string; line1?: string; line2?: string; postcode?: string; state?: string; townCity?: string; } export interface Profiles { basic: Basic; b2b: B2B; restricted: Restricted; demographics: Demographics; } interface Basic { email: string; title: string; firstName: string; lastName: string; country: string; } interface Restricted { primaryTelephone: string; homeAddress: HomeAddress; } export interface UserResource { id: string; href: string; } export interface UserResources { items: Array; }