import { WithCreatedOn, AmountWithCurrency, InvoiceChargeFee } from "./types"; import { CardBrandPercentFeesItem, InstallmentsConfiguration, SubscriptionsConfiguration, UserTransactionsConfiguration } from "./Configuration"; import { TransferScheduleItem } from "./TransferSchedule"; export interface PlatformUserDefaults { percentFee: number; transferSchedule: TransferScheduleItem; flatFees: Array; waitPeriod: string; cardBrandPercentFees: Partial; minTransferPayout: AmountWithCurrency; installmentsConfiguration: Partial; userTransactionsConfiguration?: UserTransactionsConfiguration; subscriptionConfiguration: Partial; onlyDirectCurrency: boolean; } export interface PlatformPaymentDefaults { cardsEnabled: boolean; qrScanEnabled: boolean; qrMerchantEnabled: boolean; prepaidEnabled: boolean; debitEnabled: boolean; convenienceEnabled: boolean; paidyEnabled: boolean; } export interface PlatformItem extends WithCreatedOn { id: string; domain: string; name: string; ownerId?: string; invoiceChargeFee: Array; } export interface PlatformConfiguration { adminEmailAddresses?: Array; country: string; currency: string; defaultLanguage: string; limitCardChargeByCardConfiguration?: { quantityOfCharges: number; durationWindow: string; }; displayImages: { bannerUri?: string; faviconUri?: string; placeholderUri?: string; squareUri?: string; }; maximumChargeAmounts: Array; minimumChargeAmounts: Array; notifyUserTransactions: boolean; paymentDefaults: PlatformPaymentDefaults; recurringCardChargeCvvConfirmationThreshold?: Array; refundPercentLimit: number; supportedLanguages: Array; timeZone: string; userDefaults: PlatformUserDefaults; }