export interface SellixApiResponse { status: number; data: T; message?: string; log?: string; error?: string; env?: 'production' | 'development'; } export interface SellixCustomer { email: string; name: string; surname: string; phone?: number; phoneCountryCode?: string; countryCode?: string; streetAddress?: string; additionalAddressInfo?: any; city?: string; postalCode?: number; state?: string; } export interface FraudShield { ip: string; userAgent: string; userLanguage: string; } export interface SellixPaymentCart { products: { uniqid: string; unitQuantity: number; }[]; } export declare enum GatewayTypes { PAYPAL = 0, ETHEREUM = 1, BITCOIN = 2, BITCOINCASH = 3, LITECOIN = 4, SKRILL = 5, STRIPE = 6, PERFECTMONEY = 7, CASHAPP = 8, LEXHOLDINGSGROUP = 9, PAYDASH = 10, MONERO = 11, NANO = 12, SOLANA = 13, RIPPLE = 14 } export interface SellixProduct { title: string; price: number; description: string; currency?: string; gateways?: string[]; type: string; serials?: string[]; serialsRemoveDuplicates?: boolean; serviceText?: string; stock?: number; dynamicWebhook?: string; stockDelimiter?: string; minQuantity?: number; maxQuantity?: number; deliveryText?: string; customFields?: object[]; cryptoConfirmationsNeeded?: number; maxRiskLevel?: number; unlisted?: boolean; private?: boolean; blockVpnProxies?: boolean; sortPriority?: number; webhooks?: string[]; onHold?: boolean; termsOfService?: string; warranty?: number; warrantyText?: string; removeImage?: boolean; removeFile?: boolean; volumeDiscounts?: object[]; recurringInterval?: string; recurringIntervalCount?: number; trialPeriod?: number; } export interface SellixPayment { title?: string; productId?: string; cart?: SellixPaymentCart; gateway?: GatewayTypes; paypalApm?: any; creditCard?: any; lexPaymentMethod?: any; value?: number; currency?: string; quantity?: number; couponCode?: string; confirmations?: number; email: string; customFields?: object[]; fraudShield?: FraudShield; webhook?: string; whiteLabel?: boolean; returnUrl?: string; } export declare enum SubscriptionStatus { PENDING = 0, CANCELED = 1, TRIALING = 2, ACTIVE = 3 } export declare type GetCustomersResponse = SellixApiResponse<{ customers: SellixCustomer[]; }>; export declare type GetCustomerResponse = SellixApiResponse<{ customer: SellixCustomer; }>; export declare type CreateCustomerResponse = SellixApiResponse<{ customerId: string; }>; export declare type UpdateCustomerResponse = SellixApiResponse; export declare type CreatePaymentResponse = SellixApiResponse<{ url: string; uniqid: string; }>; export declare type GetProductsResponse = SellixApiResponse<{ products: SellixProduct[]; }>; export declare type GetProductResponse = SellixApiResponse<{ product: SellixProduct; }>; export declare type CreateProductResponse = SellixApiResponse; export declare type UpdateProductResponse = SellixApiResponse; export declare type DeleteProductResponse = SellixApiResponse;