import { BankTransferConfiguration, CardBrandPercentFeesItem, InstallmentsConfiguration, SubscriptionsConfiguration, UserTransactionsConfiguration, ConvenienceConfigurationItem, SubscriptionPlanConfiguration, CustomerManagementConfiguration, Period } from "./Configuration.js"; import { TransferScheduleItem } from "./TransferSchedule.js"; import { AmountWithCurrency, InvoiceChargeFee, WithCreatedOn } from "./types.js"; type CheckoutConfiguration = { ecEmail: { enabled: boolean; }; ecProducts: { enabled: boolean; }; }; export interface PlatformUserDefaults { bankTransferConfiguration: BankTransferConfiguration; convenienceConfiguration: ConvenienceConfigurationItem; paymentErrorTranslationEnabled?: boolean; cardConfiguration: { allowDirectTokenCreation: boolean; threeDsRequired?: boolean; threeDsAddressRequired?: boolean; threeDsPhoneNumberRequired?: boolean; threeDsSkipEnabled?: boolean; }; percentFee: number; transferSchedule: TransferScheduleItem; flatFees: AmountWithCurrency[]; waitPeriod: string; cardBrandPercentFees: Partial; minTransferPayout: AmountWithCurrency; installmentsConfiguration: Partial; userTransactionsConfiguration?: UserTransactionsConfiguration; checkoutConfiguration: CheckoutConfiguration; subscriptionConfiguration: Partial; onlyDirectCurrency: boolean; platformCredentialsEnabled: boolean; taggedPlatformCredentialsEnabled: boolean; minRefundThreshold: number; subscriptionPlanConfiguration: SubscriptionPlanConfiguration; securityConfiguration?: { cardChargeCooldown?: string; subscriptionCooldown?: string; idempotentCardChargeCooldown?: string; idempotentSubscriptionCooldown?: string; restrictIpAfterFailedCharge?: { enabled: boolean; count: number; cooldown: string; }; limitRefundBySales: { enabled: boolean; period: Period; rollingWindow?: boolean; }; }; customerManagementConfiguration: CustomerManagementConfiguration; } export interface PlatformPaymentDefaults { cardsEnabled: boolean; qrScanEnabled: boolean; qrMerchantEnabled: boolean; prepaidEnabled: boolean; prepaidAuthorizationEnabled: boolean; debitEnabled: boolean; debitAuthorizationEnabled: boolean; convenienceEnabled: boolean; onlineEnabled: boolean; paidyEnabled: boolean; bankTransferEnabled: boolean; } export interface PlatformItem extends WithCreatedOn { id: string; domain: string; name: string; ownerId?: string; invoiceChargeFee: InvoiceChargeFee[]; } export interface PlatformConfiguration { adminEmailAddresses?: string[]; country: string; currency: string; defaultLanguage: string; limitCardChargeByCardConfiguration?: { quantityOfCharges: number; durationWindow: string; }; displayImages: { bannerUri?: string; faviconUri?: string; placeholderUri?: string; squareUri?: string; }; foreignCardsEnabled: boolean; maximumChargeAmounts: AmountWithCurrency[]; minimumChargeAmounts: AmountWithCurrency[]; notifyUserTransactions: boolean; notifyUserOnFailedTransactions?: boolean; paymentDefaults: PlatformPaymentDefaults; recurringCardChargeCvvConfirmationThreshold?: AmountWithCurrency[]; refundPercentLimit: number; supportedLanguages: string[]; timeZone: string; userDefaults: PlatformUserDefaults; } export {};