@final-commerce/common 1.1.4-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,468 @@
1
+ import { C as CurrencyCode, P as PricingRegionEnum, a as PaymentStateDefinition, F as FulfillmentStateDefinition, b as FinancialInvariant, S as StatePair, c as CrossAxisRule, d as StoredStateConfig, D as DisplayStateRule, e as StateConfig, f as ConfigValidationResult, g as DisplayStateResult, h as Condition, O as OrderContext, i as FailedCondition, T as TransitionConditionSet, j as OrderLikeForContext, k as SplitPayment, l as TransitionRequest, m as TransitionResult, A as AvailableTransition, n as OrderStateWritable, o as PaymentState, p as FulfillmentState, q as OrderLikeForLegacyInference, r as StateConfigFragment, s as FragmentParam, t as ConfigValidationError, u as TransitionBlockedBy } from './interfaces-6GnQyqYd.mjs';
2
+ export { v as AttributeType, w as CONDITION_OPERATORS, x as CompanyType, y as ConditionGroup, z as ConditionOperator, B as ConfigValidationWarning, E as CrossAxisRequires, G as CrossAxisTrigger, H as CustomTableAvailability, I as CustomerPlatform, J as ExtensionCategory, K as FULFILLMENT_STATES, L as FeesCustomBillingStatus, M as FulfillmentTransitionPath, N as InventoryBaseActionEnum, Q as InventoryBaseActionType, R as InventorySpecificActionType, U as InvoiceStatus, V as LibraryItemType, W as MenuProject, X as NonRevenueItemType, Y as OrderLineItem, Z as OrderPaymentMethod, _ as OrderPlatform, $ as OrderRefund, a0 as OwnerType, a1 as PATH_MODES, a2 as PAYMENT_STATES, a3 as PathMode, a4 as PaymentMethod, a5 as PaymentTransitionPath, a6 as Platform, a7 as PreviewImageMode, a8 as PricingLevel, a9 as PricingPlanEnum, aa as ProductStatus, ab as ProductType, ac as PublicationAvailability, ad as PublicationConfig, ae as PublicationStatus, af as ReceiptSendChannel, ag as ReceiptType, ah as ResidualPaymentMethod, ai as ResidualStatus, aj as SplitPaymentPayment, ak as StateDefinition, al as StationStatus, am as StripeStatus, an as TimePeriod, ao as TopMetericsSort, ap as TransitionPath, aq as UserTypes, ar as isConditionOperator, as as isFulfillmentState, at as isPaymentState } from './interfaces-6GnQyqYd.mjs';
3
+
4
+ declare enum StripeCurrencyCode {
5
+ USD = "USD",
6
+ EUR = "EUR",
7
+ GBP = "GBP",
8
+ CAD = "CAD",
9
+ AUD = "AUD",
10
+ NZD = "NZD",
11
+ CHF = "CHF",
12
+ CNY = "CNY",
13
+ INR = "INR",
14
+ MXN = "MXN",
15
+ BRL = "BRL",
16
+ ZAR = "ZAR",
17
+ SGD = "SGD",
18
+ HKD = "HKD",
19
+ SEK = "SEK",
20
+ NOK = "NOK",
21
+ DKK = "DKK",
22
+ PLN = "PLN",
23
+ THB = "THB",
24
+ MYR = "MYR",
25
+ PHP = "PHP",
26
+ IDR = "IDR",
27
+ AED = "AED",
28
+ SAR = "SAR",
29
+ ILS = "ILS",
30
+ TRY = "TRY",
31
+ RUB = "RUB",
32
+ JPY = "JPY",
33
+ KRW = "KRW",
34
+ VND = "VND",
35
+ CLP = "CLP",
36
+ ISK = "ISK",
37
+ HUF = "HUF",
38
+ TWD = "TWD",
39
+ KWD = "KWD",
40
+ BHD = "BHD",
41
+ OMR = "OMR",
42
+ JOD = "JOD",
43
+ TND = "TND",
44
+ LYD = "LYD",
45
+ IQD = "IQD"
46
+ }
47
+
48
+ interface CurrencyConfig {
49
+ minorUnits: number;
50
+ symbol: string;
51
+ symbolPosition: 'prefix' | 'suffix';
52
+ }
53
+
54
+ interface Amount {
55
+ amount: number;
56
+ currency: CurrencyCode;
57
+ minorUnits: number;
58
+ }
59
+
60
+ interface ProductFeeBucket {
61
+ grossProductFees: number;
62
+ refundedProductFees: number;
63
+ netProductFees: number;
64
+ }
65
+ interface CartFeeBucket {
66
+ grossCartFees: number;
67
+ refundedCartFees: number;
68
+ netCartFees: number;
69
+ }
70
+ interface FeesBreakdown {
71
+ productFee: ProductFeeBucket;
72
+ cartFee: CartFeeBucket;
73
+ grossTotal: number;
74
+ refundTotal: number;
75
+ netTotal: number;
76
+ taxableFees?: number;
77
+ nonTaxableFees?: number;
78
+ refundedTaxableFees?: number;
79
+ refundedNonTaxableFees?: number;
80
+ }
81
+ interface ProductDiscountBucket {
82
+ grossProductDiscounts: number;
83
+ refundedProductDiscounts: number;
84
+ netProductDiscounts: number;
85
+ }
86
+ interface CartDiscountBucket {
87
+ grossCartDiscounts: number;
88
+ refundedCartDiscounts: number;
89
+ netCartDiscounts: number;
90
+ }
91
+ interface DiscountsBreakdown {
92
+ productDiscounts: ProductDiscountBucket;
93
+ cartDiscounts: CartDiscountBucket;
94
+ grossTotal: number;
95
+ refundTotal: number;
96
+ netTotal: number;
97
+ }
98
+ interface FeesTuple {
99
+ grossFees: number;
100
+ refundedFees: number;
101
+ netFees: number;
102
+ }
103
+ interface DiscountsTuple {
104
+ grossDiscounts: number;
105
+ refundedDiscounts: number;
106
+ netDiscounts: number;
107
+ }
108
+ interface TaxesTuple {
109
+ grossTaxes: number;
110
+ refundedTaxes: number;
111
+ netTaxes: number;
112
+ }
113
+ interface TipsTuple {
114
+ grossTips: number;
115
+ refundedTips: number;
116
+ netTips: number;
117
+ }
118
+ interface CashRoundingTuple {
119
+ grossCashRounding: number;
120
+ refundedCashRounding: number;
121
+ netCashRounding: number;
122
+ }
123
+ interface SalesSummary {
124
+ grossSales: number;
125
+ discounts: DiscountsTuple;
126
+ refundsItems: number;
127
+ fees: FeesTuple;
128
+ taxes?: TaxesTuple;
129
+ totalSales: number;
130
+ tips: TipsTuple;
131
+ netLiabilityMovement: number;
132
+ cashRounding: CashRoundingTuple;
133
+ totalCollected: number;
134
+ netSales: number;
135
+ totalTaxableSales?: number;
136
+ totalNonTaxableSales?: number;
137
+ }
138
+ interface TaxBreakdownRateEntry {
139
+ taxRateId: string;
140
+ name: string;
141
+ taxTableId?: string;
142
+ taxTableName?: string;
143
+ percentage: number;
144
+ taxableSales: number;
145
+ tax: number;
146
+ }
147
+ interface TaxBreakdownSubtotal {
148
+ taxableSales: number;
149
+ tax: number;
150
+ }
151
+ interface TaxBreakdownSection {
152
+ entries: TaxBreakdownRateEntry[];
153
+ total: TaxBreakdownSubtotal;
154
+ }
155
+ interface TaxBreakdown {
156
+ sales: TaxBreakdownSection;
157
+ refunds: TaxBreakdownSection;
158
+ nets: TaxBreakdownSection;
159
+ }
160
+ interface SettlementCardSection {
161
+ collected: number;
162
+ refunded: number;
163
+ net: number;
164
+ processingFees: number;
165
+ bankDeposit: number;
166
+ }
167
+ interface SettlementCashSection {
168
+ collected: number;
169
+ refunded: number;
170
+ netCash: number;
171
+ }
172
+ interface SettlementCustomEntry {
173
+ processor: string;
174
+ collected: number;
175
+ refunded: number;
176
+ customNet: number;
177
+ processingFees: number;
178
+ customDeposit: number;
179
+ }
180
+ interface SettlementBreakdown {
181
+ cards: SettlementCardSection;
182
+ cash: SettlementCashSection;
183
+ custom: SettlementCustomEntry[];
184
+ netToMerchant: number;
185
+ }
186
+ interface RefundsBreakdown {
187
+ itemsRefunded: number;
188
+ feesReversed: number;
189
+ discountsReversed: number;
190
+ taxRefunded: number;
191
+ totalRefunded: number;
192
+ tipsRefunded: number;
193
+ cashRoundingRefund: number;
194
+ totalPaidBack: number;
195
+ totalTaxableRefunded?: number;
196
+ totalNonTaxableRefunded?: number;
197
+ }
198
+ interface StaffSalesEntry {
199
+ name: string;
200
+ orderQty: number;
201
+ refundQty: number;
202
+ grossSales: number;
203
+ refundSales: number;
204
+ netSales: number;
205
+ }
206
+ interface StaffSales {
207
+ staffSales: StaffSalesEntry[];
208
+ grossTotal: number;
209
+ refundTotal: number;
210
+ netTotal: number;
211
+ }
212
+ interface TipEntry {
213
+ tipTo: string;
214
+ name: string;
215
+ grossAmount: number;
216
+ refundAmount: number;
217
+ netAmount: number;
218
+ }
219
+ interface TipsBreakdown {
220
+ tips: TipEntry[];
221
+ grossTotal: number;
222
+ refundTotal: number;
223
+ netTotal: number;
224
+ }
225
+ interface CashDrawer {
226
+ openingCashAmount: number;
227
+ cashPayments: number;
228
+ cashRefunds: number;
229
+ manualCashAddition: number;
230
+ manualCashRemoval: number;
231
+ countedCashOverUnder: number;
232
+ closingCashAmount: number;
233
+ }
234
+ interface EndOfSessionReport {
235
+ isTaxInclusive: boolean;
236
+ salesSummary: SalesSummary;
237
+ taxBreakdown: TaxBreakdown;
238
+ settlementBreakdown: SettlementBreakdown;
239
+ refundsBreakdown: RefundsBreakdown;
240
+ cashDrawer?: CashDrawer;
241
+ staffSales: StaffSales;
242
+ discountsBreakdown: DiscountsBreakdown;
243
+ feesBreakdown: FeesBreakdown;
244
+ tipsBreakdown?: TipsBreakdown;
245
+ sessionNumber?: string;
246
+ stationName?: string;
247
+ outletName?: string;
248
+ currency?: string;
249
+ minorUnits?: number;
250
+ }
251
+
252
+ declare const CURRENCY_CONFIG: Record<CurrencyCode | string, CurrencyConfig>;
253
+ declare function getCurrencyConfig(currency: CurrencyCode): CurrencyConfig;
254
+ declare function getMinorUnitMultiplier(currency: CurrencyCode): number;
255
+ declare function toMinorUnits(amount: number, currency: CurrencyCode): number;
256
+ declare function fromMinorUnits(minorAmount: number, currency: CurrencyCode): number;
257
+ declare function formatCurrency(minorAmount: number, currency: CurrencyCode, options?: {
258
+ includeSymbol?: boolean;
259
+ useGrouping?: boolean;
260
+ }): string;
261
+ declare function addAmounts(a: number, b: number): number;
262
+ declare function subtractAmounts(a: number, b: number): number;
263
+ declare function multiplyAmount(amount: number, multiplier: number): number;
264
+ declare function divideAmount(amount: number, divisor: number): number;
265
+ declare function calculatePercentage(amount: number, percentage: number): number;
266
+ declare function parseAmountToMinorUnits(amountString: string, currency: CurrencyCode): number | null;
267
+ declare function isSupportedCurrency(currency: CurrencyCode): boolean;
268
+ declare function parseCurrencyCode(value: string): CurrencyCode;
269
+ declare function parseStripeCurrencyCode(value: string): StripeCurrencyCode;
270
+ declare function stringifyMinorUnits(minorAmount: number, minorUnits: number): number;
271
+ declare function formatMinorUnitsToString(minorAmount: number, minorUnits: number): string;
272
+ declare function getMinorUnits(currency: CurrencyCode): number;
273
+ declare function createAmount(value: string | number | null | undefined, currency: CurrencyCode): Amount | undefined;
274
+ declare function amountToString(amount: Amount | undefined | null): string;
275
+
276
+ declare function getPricingRegionFromCountry(countryCode?: string): PricingRegionEnum;
277
+ declare const NORTH_AMERICA: Set<string>;
278
+ declare const EUROPE: Set<string>;
279
+ declare function convertFixedFeeToLocalCurrency(currency: string, region: PricingRegionEnum): number;
280
+ declare function getCountriesByRegion(region: PricingRegionEnum): Set<string>;
281
+
282
+ declare const REPORT_NEGATE_PATHS: ReadonlySet<string>;
283
+ declare function signReportForDisplay(report: EndOfSessionReport): EndOfSessionReport;
284
+
285
+ declare function generateMongoID(): string;
286
+ declare function getCurrentISODate(): string;
287
+ declare function normalizeMongoIdString(value: unknown): string | null;
288
+
289
+ interface StateSchema {
290
+ readonly paymentStates: readonly PaymentStateDefinition[];
291
+ readonly fulfillmentStates: readonly FulfillmentStateDefinition[];
292
+ }
293
+ declare function basePaymentDefinitions(): PaymentStateDefinition[];
294
+ declare function baseFulfillmentDefinitions(): FulfillmentStateDefinition[];
295
+ declare const STATE_SCHEMA: Readonly<StateSchema>;
296
+
297
+ declare const FINANCIAL_INVARIANTS: readonly FinancialInvariant[];
298
+ declare function getFinancialInvariantViolations(from: StatePair | null, to: StatePair): string[];
299
+ declare function violatesFinancialInvariant(from: StatePair | null, to: StatePair): boolean;
300
+
301
+ declare const DEFAULT_CROSS_AXIS_RULES: readonly CrossAxisRule[];
302
+
303
+ declare const DEFAULT_DISPLAY_STATE_MAP: readonly DisplayStateRule[];
304
+ declare const DEFAULT_CONFIG: StoredStateConfig;
305
+ declare function buildResolvedConfig(config: StoredStateConfig): StateConfig;
306
+ declare const DEFAULT_RESOLVED_CONFIG: StateConfig;
307
+
308
+ declare const POS_CROSS_AXIS_RULES: readonly CrossAxisRule[];
309
+ declare const POS_VALID_INITIAL_STATES: readonly StatePair[];
310
+ declare function buildPosPresetConfig(companyId?: string): StoredStateConfig;
311
+
312
+ declare function validateConfig(config: StateConfig): ConfigValidationResult;
313
+
314
+ declare function deriveDisplayState(payment: string, fulfillment: string, config: StoredStateConfig): DisplayStateResult;
315
+ declare function displayRuleMatchesPair(rule: DisplayStateRule, payment: string, fulfillment: string): boolean;
316
+
317
+ declare function evaluateCondition(condition: Condition, context: OrderContext): {
318
+ ok: boolean;
319
+ failed?: FailedCondition;
320
+ };
321
+ declare function evaluateConditionSet(set: TransitionConditionSet | undefined, context: OrderContext): {
322
+ ok: boolean;
323
+ failedConditions: FailedCondition[];
324
+ };
325
+ declare function conditionSummary(c: Condition): string;
326
+
327
+ declare function buildOrderContext(order: OrderLikeForContext | null | undefined, extras?: {
328
+ splitPayment?: SplitPayment;
329
+ }): OrderContext;
330
+
331
+ declare function crossAxisRuleApplies(rule: CrossAxisRule, from: StatePair | null, to: StatePair): boolean;
332
+ declare function canTransition(request: TransitionRequest): TransitionResult;
333
+ declare function getAvailableTransitions(current: StatePair, config: StateConfig, context: OrderContext): AvailableTransition[];
334
+
335
+ declare function mapToLegacyStatus(pair: StatePair): string;
336
+ declare function setOrderState(order: OrderStateWritable, paymentState: PaymentState, fulfillmentState: FulfillmentState, config: StoredStateConfig, options?: {
337
+ includeLegacyStatus?: boolean;
338
+ }): void;
339
+
340
+ declare function inferStatesFromLegacyStatus(order: OrderLikeForLegacyInference): StatePair;
341
+
342
+ interface ResolveTemplateResult {
343
+ fragment: StateConfigFragment;
344
+ resolvedValues: Record<string, unknown>;
345
+ }
346
+ declare function resolveTemplate(templateJson: string, params: FragmentParam[], values?: Record<string, unknown>): ResolveTemplateResult;
347
+
348
+ interface FragmentValidationResult {
349
+ valid: boolean;
350
+ errors: ConfigValidationError[];
351
+ }
352
+ declare function validateFragmentCompatibility(config: StoredStateConfig, fragment: StateConfigFragment): FragmentValidationResult;
353
+
354
+ declare function mergeFragment(config: StoredStateConfig, fragment: StateConfigFragment, extensionId: string): StoredStateConfig;
355
+
356
+ declare function removeFragment(config: StoredStateConfig, extensionId: string): StoredStateConfig;
357
+
358
+ declare const ORDER_STATE_ACTIONS: {
359
+ readonly getOrderStateConfig: "getOrderStateConfig";
360
+ readonly getAvailableTransitions: "getAvailableTransitions";
361
+ readonly getOrderDisplayState: "getOrderDisplayState";
362
+ readonly transitionOrderState: "transitionOrderState";
363
+ readonly getStateConfigFragment: "getStateConfigFragment";
364
+ readonly saveStateConfigFragment: "saveStateConfigFragment";
365
+ readonly deleteStateConfigFragment: "deleteStateConfigFragment";
366
+ };
367
+ interface GetOrderStateConfigParams {
368
+ }
369
+ interface GetOrderStateConfigResponse {
370
+ config: StateConfig;
371
+ }
372
+ interface GetAvailableTransitionsParams {
373
+ orderId?: string;
374
+ currentState?: StatePair;
375
+ skipConditionEvaluation?: boolean;
376
+ }
377
+ interface GetAvailableTransitionsResponse {
378
+ transitions: AvailableTransition[];
379
+ }
380
+ interface GetOrderDisplayStateParams {
381
+ orderId?: string;
382
+ statePair?: StatePair;
383
+ }
384
+ interface GetOrderDisplayStateResponse {
385
+ display: DisplayStateResult;
386
+ }
387
+ interface TransitionOrderStateParams {
388
+ orderId: string;
389
+ to: StatePair;
390
+ }
391
+ interface TransitionOrderStateResponse {
392
+ success: boolean;
393
+ order: Record<string, unknown>;
394
+ result: TransitionResult;
395
+ }
396
+ interface GetStateConfigFragmentParams {
397
+ extensionId: string;
398
+ }
399
+ interface GetStateConfigFragmentResponse {
400
+ fragment: StateConfigFragment | null;
401
+ }
402
+ interface SaveStateConfigFragmentParams {
403
+ extensionId: string;
404
+ fragment: StateConfigFragment;
405
+ }
406
+ interface SaveStateConfigFragmentResponse {
407
+ success: boolean;
408
+ validation?: {
409
+ valid: boolean;
410
+ errors: {
411
+ code: string;
412
+ message: string;
413
+ path?: string;
414
+ }[];
415
+ warnings: {
416
+ code: string;
417
+ message: string;
418
+ path?: string;
419
+ }[];
420
+ };
421
+ }
422
+ interface DeleteStateConfigFragmentParams {
423
+ extensionId: string;
424
+ }
425
+ interface DeleteStateConfigFragmentResponse {
426
+ success: boolean;
427
+ }
428
+
429
+ declare const ORDER_STATE_TOPIC: "order-state";
430
+ declare const ORDER_STATE_EVENTS: {
431
+ readonly stateTransitionCompleted: "state-transition-completed";
432
+ readonly stateTransitionBlocked: "state-transition-blocked";
433
+ readonly configUpdated: "config-updated";
434
+ };
435
+ interface StateTransitionCompletedPayload {
436
+ orderId: string;
437
+ from: StatePair;
438
+ to: StatePair;
439
+ display: DisplayStateResult;
440
+ timestamp: string;
441
+ }
442
+ interface StateTransitionBlockedPayload {
443
+ orderId: string;
444
+ from: StatePair;
445
+ attemptedTo: StatePair;
446
+ blockedBy: TransitionBlockedBy[];
447
+ timestamp: string;
448
+ }
449
+ interface ConfigUpdatedPayload {
450
+ companyId: string;
451
+ configId: string;
452
+ version: number;
453
+ timestamp: string;
454
+ }
455
+ type OrderStateEventPayload = StateTransitionCompletedPayload | StateTransitionBlockedPayload | ConfigUpdatedPayload;
456
+
457
+ interface CurrencyRate {
458
+ rate: number;
459
+ country: string;
460
+ }
461
+ declare const REGION_MAPPING: Record<string, PricingRegionEnum>;
462
+ declare const STRIPE_SUPPORTED_COUNTRIES: Set<string>;
463
+ declare const NAFixedRates: Record<string, CurrencyRate>;
464
+ declare const EUFixedRates: Record<string, CurrencyRate>;
465
+ declare const OtherFixedRates: Record<string, CurrencyRate>;
466
+ declare const COUNTRY_CURRENCIES: Record<string, string>;
467
+
468
+ export { type Amount, AvailableTransition, COUNTRY_CURRENCIES, CURRENCY_CONFIG, type CartDiscountBucket, type CartFeeBucket, type CashDrawer, type CashRoundingTuple, Condition, type ConfigUpdatedPayload, ConfigValidationError, ConfigValidationResult, CrossAxisRule, CurrencyCode, type CurrencyConfig, type CurrencyRate, DEFAULT_CONFIG, DEFAULT_CROSS_AXIS_RULES, DEFAULT_DISPLAY_STATE_MAP, DEFAULT_RESOLVED_CONFIG, type DeleteStateConfigFragmentParams, type DeleteStateConfigFragmentResponse, type DiscountsBreakdown, type DiscountsTuple, DisplayStateResult, DisplayStateRule, EUFixedRates, EUROPE, type EndOfSessionReport, FINANCIAL_INVARIANTS, FailedCondition, type FeesBreakdown, type FeesTuple, FinancialInvariant, FragmentParam, type FragmentValidationResult, FulfillmentState, FulfillmentStateDefinition, type GetAvailableTransitionsParams, type GetAvailableTransitionsResponse, type GetOrderDisplayStateParams, type GetOrderDisplayStateResponse, type GetOrderStateConfigParams, type GetOrderStateConfigResponse, type GetStateConfigFragmentParams, type GetStateConfigFragmentResponse, NAFixedRates, NORTH_AMERICA, ORDER_STATE_ACTIONS, ORDER_STATE_EVENTS, ORDER_STATE_TOPIC, OrderContext, OrderLikeForContext, OrderLikeForLegacyInference, type OrderStateEventPayload, OrderStateWritable, OtherFixedRates, POS_CROSS_AXIS_RULES, POS_VALID_INITIAL_STATES, PaymentState, PaymentStateDefinition, PricingRegionEnum, type ProductDiscountBucket, type ProductFeeBucket, REGION_MAPPING, REPORT_NEGATE_PATHS, type RefundsBreakdown, type ResolveTemplateResult, STATE_SCHEMA, STRIPE_SUPPORTED_COUNTRIES, type SalesSummary, type SaveStateConfigFragmentParams, type SaveStateConfigFragmentResponse, type SettlementBreakdown, type SettlementCardSection, type SettlementCashSection, type SettlementCustomEntry, SplitPayment, type StaffSales, type StaffSalesEntry, StateConfig, StateConfigFragment, StatePair, type StateSchema, type StateTransitionBlockedPayload, type StateTransitionCompletedPayload, StoredStateConfig, StripeCurrencyCode, type TaxBreakdown, type TaxBreakdownRateEntry, type TaxBreakdownSection, type TaxBreakdownSubtotal, type TaxesTuple, type TipEntry, type TipsBreakdown, type TipsTuple, TransitionBlockedBy, TransitionConditionSet, type TransitionOrderStateParams, type TransitionOrderStateResponse, TransitionRequest, TransitionResult, addAmounts, amountToString, baseFulfillmentDefinitions, basePaymentDefinitions, buildOrderContext, buildPosPresetConfig, buildResolvedConfig, calculatePercentage, canTransition, conditionSummary, convertFixedFeeToLocalCurrency, createAmount, crossAxisRuleApplies, deriveDisplayState, displayRuleMatchesPair, divideAmount, evaluateCondition, evaluateConditionSet, formatCurrency, formatMinorUnitsToString, fromMinorUnits, generateMongoID, getAvailableTransitions, getCountriesByRegion, getCurrencyConfig, getCurrentISODate, getFinancialInvariantViolations, getMinorUnitMultiplier, getMinorUnits, getPricingRegionFromCountry, inferStatesFromLegacyStatus, isSupportedCurrency, mapToLegacyStatus, mergeFragment, multiplyAmount, normalizeMongoIdString, parseAmountToMinorUnits, parseCurrencyCode, parseStripeCurrencyCode, removeFragment, resolveTemplate, setOrderState, signReportForDisplay, stringifyMinorUnits, subtractAmounts, toMinorUnits, validateConfig, validateFragmentCompatibility, violatesFinancialInvariant };