export interface BalanceDefinition { /** Unique identifier for the balance definition. */ id?: string | undefined; /** Name of the balance definition. */ name?: string | undefined; /** Short description of the balance definition. */ description?: string | undefined; /** Optional image reference URL. */ imageRef?: string | undefined; /** Additional metadata for the balance definition. */ meta?: Record | undefined; /** Unit of balance measurement. */ unit?: BalanceDefinition.Unit | undefined; /** Minimum allowable balance. */ minAmount?: number | undefined; /** Maximum allowable balance. */ maxAmount?: number | undefined; /** Maximum credit allowed per operation. */ maxCreditAmountLimit?: number | undefined; /** Maximum debit allowed per operation. */ maxDebitAmountLimit?: number | undefined; /** Partial enables partial credit of balance if maximum balance limit is reached. Strict enables rejection of a transaction if it will breach the max balance limit. */ balanceOptionAmountOvertakingStrategy?: BalanceDefinition.BalanceOptionAmountOvertakingStrategy | undefined; /** Rounding strategy for credit transactions. */ balanceOptionCreditRounding?: BalanceDefinition.BalanceOptionCreditRounding | undefined; /** Rounding strategy for debit transactions. */ balanceOptionDebitRounding?: BalanceDefinition.BalanceOptionDebitRounding | undefined; /** Number of time units before the balance expires. */ balanceAvailabilityDurationValue?: number | undefined; /** Unit of time for the balance availability duration. */ balanceAvailabilityDurationUnit?: BalanceDefinition.BalanceAvailabilityDurationUnit | undefined; /** Modifier for balance availability duration. startOfPeriod causes expiry at the start of the period, endOfPeriod at the end. noModification uses the exact duration from the credit date. */ balanceAvailabilityDurationModifier?: BalanceDefinition.BalanceAvailabilityDurationModifier | undefined; /** Fixed expiration date in dd/mm format. The balance expires when this date next appears in the calendar. Only one of balanceExpirationDate or balance availability duration fields can be used. */ balanceExpirationDate?: string | undefined; /** Timestamp of balance definition creation. */ createdAt?: string | undefined; /** Timestamp of the last update. */ updatedAt?: string | undefined; /** Timestamp of balance definition deletion (nullable). */ deletedAt?: string | undefined; } export declare namespace BalanceDefinition { /** Unit of balance measurement. */ const Unit: { readonly Points: "POINTS"; readonly Eur: "EUR"; readonly Usd: "USD"; readonly Mxn: "MXN"; readonly Gbp: "GBP"; readonly Inr: "INR"; readonly Cad: "CAD"; readonly Sgd: "SGD"; readonly Ron: "RON"; readonly Jpy: "JPY"; readonly Myr: "MYR"; readonly Clp: "CLP"; readonly Pen: "PEN"; readonly Mad: "MAD"; readonly Aud: "AUD"; readonly Chf: "CHF"; readonly Brl: "BRL"; }; type Unit = (typeof Unit)[keyof typeof Unit]; /** Partial enables partial credit of balance if maximum balance limit is reached. Strict enables rejection of a transaction if it will breach the max balance limit. */ const BalanceOptionAmountOvertakingStrategy: { readonly Strict: "strict"; readonly Partial: "partial"; }; type BalanceOptionAmountOvertakingStrategy = (typeof BalanceOptionAmountOvertakingStrategy)[keyof typeof BalanceOptionAmountOvertakingStrategy]; /** Rounding strategy for credit transactions. */ const BalanceOptionCreditRounding: { readonly Lower: "lower"; readonly Upper: "upper"; readonly Natural: "natural"; }; type BalanceOptionCreditRounding = (typeof BalanceOptionCreditRounding)[keyof typeof BalanceOptionCreditRounding]; /** Rounding strategy for debit transactions. */ const BalanceOptionDebitRounding: { readonly Lower: "lower"; readonly Upper: "upper"; readonly Natural: "natural"; }; type BalanceOptionDebitRounding = (typeof BalanceOptionDebitRounding)[keyof typeof BalanceOptionDebitRounding]; /** Unit of time for the balance availability duration. */ const BalanceAvailabilityDurationUnit: { readonly Day: "day"; readonly Week: "week"; readonly Month: "month"; readonly Year: "year"; }; type BalanceAvailabilityDurationUnit = (typeof BalanceAvailabilityDurationUnit)[keyof typeof BalanceAvailabilityDurationUnit]; /** Modifier for balance availability duration. startOfPeriod causes expiry at the start of the period, endOfPeriod at the end. noModification uses the exact duration from the credit date. */ const BalanceAvailabilityDurationModifier: { readonly NoModification: "noModification"; readonly StartOfPeriod: "startOfPeriod"; readonly EndOfPeriod: "endOfPeriod"; }; type BalanceAvailabilityDurationModifier = (typeof BalanceAvailabilityDurationModifier)[keyof typeof BalanceAvailabilityDurationModifier]; }