@revenexx/node 0.4.0 → 0.5.1
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.
- package/dist/client.d.mts +1 -0
- package/dist/client.d.ts +1 -0
- package/dist/client.js +11 -9
- package/dist/client.js.map +1 -1
- package/dist/client.mjs +11 -9
- package/dist/client.mjs.map +1 -1
- package/dist/enums/market-readiness-report-warning-reasons.d.mts +9 -0
- package/dist/enums/market-readiness-report-warning-reasons.d.ts +9 -0
- package/dist/enums/market-readiness-report-warning-reasons.js +14 -0
- package/dist/enums/market-readiness-report-warning-reasons.js.map +1 -0
- package/dist/enums/market-readiness-report-warning-reasons.mjs +13 -0
- package/dist/enums/market-readiness-report-warning-reasons.mjs.map +1 -0
- package/dist/enums/market-readiness-warning-reasons.d.mts +9 -0
- package/dist/enums/market-readiness-warning-reasons.d.ts +9 -0
- package/dist/enums/market-readiness-warning-reasons.js +14 -0
- package/dist/enums/market-readiness-warning-reasons.js.map +1 -0
- package/dist/enums/market-readiness-warning-reasons.mjs +13 -0
- package/dist/enums/market-readiness-warning-reasons.mjs.map +1 -0
- package/dist/enums/product-defaults-result-reason.d.mts +6 -0
- package/dist/enums/product-defaults-result-reason.d.ts +6 -0
- package/dist/enums/product-defaults-result-reason.js +11 -0
- package/dist/enums/product-defaults-result-reason.js.map +1 -0
- package/dist/enums/product-defaults-result-reason.mjs +10 -0
- package/dist/enums/product-defaults-result-reason.mjs.map +1 -0
- package/dist/enums/punchout-vocabularies-get-name.d.mts +1 -0
- package/dist/enums/punchout-vocabularies-get-name.d.ts +1 -0
- package/dist/enums/punchout-vocabularies-get-name.js +1 -0
- package/dist/enums/punchout-vocabularies-get-name.js.map +1 -1
- package/dist/enums/punchout-vocabularies-get-name.mjs +1 -0
- package/dist/enums/punchout-vocabularies-get-name.mjs.map +1 -1
- package/dist/index.d.mts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -0
- package/dist/index.mjs.map +1 -1
- package/dist/models.d.mts +160 -12
- package/dist/models.d.ts +160 -12
- package/dist/services/ads-accounts.d.mts +1 -0
- package/dist/services/ads-accounts.d.ts +1 -0
- package/dist/services/ads-conversions.d.mts +1 -0
- package/dist/services/ads-conversions.d.ts +1 -0
- package/dist/services/ads-feeds.d.mts +1 -0
- package/dist/services/ads-feeds.d.ts +1 -0
- package/dist/services/ads-jobs.d.mts +1 -0
- package/dist/services/ads-jobs.d.ts +1 -0
- package/dist/services/ads-links.d.mts +1 -0
- package/dist/services/ads-links.d.ts +1 -0
- package/dist/services/ads-rules.d.mts +1 -0
- package/dist/services/ads-rules.d.ts +1 -0
- package/dist/services/ads-spend.d.mts +1 -0
- package/dist/services/ads-spend.d.ts +1 -0
- package/dist/services/ads-syncs.d.mts +1 -0
- package/dist/services/ads-syncs.d.ts +1 -0
- package/dist/services/ads-vocabularies.d.mts +1 -0
- package/dist/services/ads-vocabularies.d.ts +1 -0
- package/dist/services/apps.d.mts +1 -0
- package/dist/services/apps.d.ts +1 -0
- package/dist/services/audiences-audiences.d.mts +1 -0
- package/dist/services/audiences-audiences.d.ts +1 -0
- package/dist/services/audiences-members.d.mts +1 -0
- package/dist/services/audiences-members.d.ts +1 -0
- package/dist/services/audiences-rules.d.mts +1 -0
- package/dist/services/audiences-rules.d.ts +1 -0
- package/dist/services/audit.d.mts +1 -0
- package/dist/services/audit.d.ts +1 -0
- package/dist/services/avatars.d.mts +1 -0
- package/dist/services/avatars.d.ts +1 -0
- package/dist/services/campaigns-assets.d.mts +1 -0
- package/dist/services/campaigns-assets.d.ts +1 -0
- package/dist/services/campaigns-attribution.d.mts +1 -0
- package/dist/services/campaigns-attribution.d.ts +1 -0
- package/dist/services/campaigns-budgets.d.mts +1 -0
- package/dist/services/campaigns-budgets.d.ts +1 -0
- package/dist/services/campaigns-calendar.d.mts +1 -0
- package/dist/services/campaigns-calendar.d.ts +1 -0
- package/dist/services/campaigns-campaigns.d.mts +1 -0
- package/dist/services/campaigns-campaigns.d.ts +1 -0
- package/dist/services/campaigns-spend.d.mts +1 -0
- package/dist/services/campaigns-spend.d.ts +1 -0
- package/dist/services/campaigns-tasks.d.mts +1 -0
- package/dist/services/campaigns-tasks.d.ts +1 -0
- package/dist/services/campaigns-touches.d.mts +1 -0
- package/dist/services/campaigns-touches.d.ts +1 -0
- package/dist/services/campaigns-vocabularies.d.mts +1 -0
- package/dist/services/campaigns-vocabularies.d.ts +1 -0
- package/dist/services/carts-io.d.mts +1 -0
- package/dist/services/carts-io.d.ts +1 -0
- package/dist/services/carts-items.d.mts +1 -0
- package/dist/services/carts-items.d.ts +1 -0
- package/dist/services/carts.d.mts +1 -0
- package/dist/services/carts.d.ts +1 -0
- package/dist/services/channels.d.mts +1 -0
- package/dist/services/channels.d.ts +1 -0
- package/dist/services/consent-manager-delivery.d.mts +1 -0
- package/dist/services/consent-manager-delivery.d.ts +1 -0
- package/dist/services/consent-manager-policy.d.mts +1 -0
- package/dist/services/consent-manager-policy.d.ts +1 -0
- package/dist/services/consent-manager-records.d.mts +1 -0
- package/dist/services/consent-manager-records.d.ts +1 -0
- package/dist/services/consent-manager-registry.d.mts +1 -0
- package/dist/services/consent-manager-registry.d.ts +1 -0
- package/dist/services/cost-centers.d.mts +9 -8
- package/dist/services/cost-centers.d.ts +9 -8
- package/dist/services/cost-centers.js +19 -13
- package/dist/services/cost-centers.js.map +1 -1
- package/dist/services/cost-centers.mjs +19 -13
- package/dist/services/cost-centers.mjs.map +1 -1
- package/dist/services/customers-contacts.d.mts +1 -0
- package/dist/services/customers-contacts.d.ts +1 -0
- package/dist/services/customers-follow-ups.d.mts +1 -0
- package/dist/services/customers-follow-ups.d.ts +1 -0
- package/dist/services/customers-leads.d.mts +1 -0
- package/dist/services/customers-leads.d.ts +1 -0
- package/dist/services/customers-organizations.d.mts +1 -0
- package/dist/services/customers-organizations.d.ts +1 -0
- package/dist/services/customers-roles.d.mts +1 -0
- package/dist/services/customers-roles.d.ts +1 -0
- package/dist/services/customers-segments.d.mts +1 -0
- package/dist/services/customers-segments.d.ts +1 -0
- package/dist/services/customers-value-lists.d.mts +1 -0
- package/dist/services/customers-value-lists.d.ts +1 -0
- package/dist/services/customers.d.mts +1 -0
- package/dist/services/customers.d.ts +1 -0
- package/dist/services/documents-kinds.d.mts +1 -0
- package/dist/services/documents-kinds.d.ts +1 -0
- package/dist/services/documents-register.d.mts +1 -0
- package/dist/services/documents-register.d.ts +1 -0
- package/dist/services/events.d.mts +1 -0
- package/dist/services/events.d.ts +1 -0
- package/dist/services/forms.d.mts +1 -0
- package/dist/services/forms.d.ts +1 -0
- package/dist/services/health.d.mts +1 -0
- package/dist/services/health.d.ts +1 -0
- package/dist/services/inventories-locations.d.mts +1 -0
- package/dist/services/inventories-locations.d.ts +1 -0
- package/dist/services/inventories-reservations.d.mts +1 -0
- package/dist/services/inventories-reservations.d.ts +1 -0
- package/dist/services/inventories-stock.d.mts +1 -0
- package/dist/services/inventories-stock.d.ts +1 -0
- package/dist/services/io.d.mts +1 -0
- package/dist/services/io.d.ts +1 -0
- package/dist/services/journeys-enrollments.d.mts +1 -0
- package/dist/services/journeys-enrollments.d.ts +1 -0
- package/dist/services/journeys-jobs.d.mts +1 -0
- package/dist/services/journeys-jobs.d.ts +1 -0
- package/dist/services/journeys-journeys.d.mts +1 -0
- package/dist/services/journeys-journeys.d.ts +1 -0
- package/dist/services/journeys-stats.d.mts +1 -0
- package/dist/services/journeys-stats.d.ts +1 -0
- package/dist/services/journeys-steps.d.mts +1 -0
- package/dist/services/journeys-steps.d.ts +1 -0
- package/dist/services/journeys-templates.d.mts +1 -0
- package/dist/services/journeys-templates.d.ts +1 -0
- package/dist/services/journeys-timeline.d.mts +1 -0
- package/dist/services/journeys-timeline.d.ts +1 -0
- package/dist/services/journeys-versions.d.mts +1 -0
- package/dist/services/journeys-versions.d.ts +1 -0
- package/dist/services/journeys-vocabularies.d.mts +1 -0
- package/dist/services/journeys-vocabularies.d.ts +1 -0
- package/dist/services/journeys-watches.d.mts +1 -0
- package/dist/services/journeys-watches.d.ts +1 -0
- package/dist/services/locale.d.mts +1 -0
- package/dist/services/locale.d.ts +1 -0
- package/dist/services/loyalty-bonus.d.mts +1 -0
- package/dist/services/loyalty-bonus.d.ts +1 -0
- package/dist/services/loyalty-jobs.d.mts +1 -0
- package/dist/services/loyalty-jobs.d.ts +1 -0
- package/dist/services/loyalty-memberships.d.mts +1 -0
- package/dist/services/loyalty-memberships.d.ts +1 -0
- package/dist/services/loyalty-points.d.mts +1 -0
- package/dist/services/loyalty-points.d.ts +1 -0
- package/dist/services/loyalty-programs.d.mts +1 -0
- package/dist/services/loyalty-programs.d.ts +1 -0
- package/dist/services/loyalty-referrals.d.mts +1 -0
- package/dist/services/loyalty-referrals.d.ts +1 -0
- package/dist/services/loyalty-rewards.d.mts +1 -0
- package/dist/services/loyalty-rewards.d.ts +1 -0
- package/dist/services/loyalty-tiers.d.mts +1 -0
- package/dist/services/loyalty-tiers.d.ts +1 -0
- package/dist/services/loyalty-vocabularies.d.mts +1 -0
- package/dist/services/loyalty-vocabularies.d.ts +1 -0
- package/dist/services/mailings-analysis.d.mts +1 -0
- package/dist/services/mailings-analysis.d.ts +1 -0
- package/dist/services/mailings-blocks.d.mts +1 -0
- package/dist/services/mailings-blocks.d.ts +1 -0
- package/dist/services/mailings-health.d.mts +1 -0
- package/dist/services/mailings-health.d.ts +1 -0
- package/dist/services/mailings-mailings.d.mts +1 -0
- package/dist/services/mailings-mailings.d.ts +1 -0
- package/dist/services/mailings-recipients.d.mts +1 -0
- package/dist/services/mailings-recipients.d.ts +1 -0
- package/dist/services/mailings-send.d.mts +1 -0
- package/dist/services/mailings-send.d.ts +1 -0
- package/dist/services/mailings-variants.d.mts +1 -0
- package/dist/services/mailings-variants.d.ts +1 -0
- package/dist/services/mailings-vocabularies.d.mts +1 -0
- package/dist/services/mailings-vocabularies.d.ts +1 -0
- package/dist/services/marketing-consents-evidence.d.mts +1 -0
- package/dist/services/marketing-consents-evidence.d.ts +1 -0
- package/dist/services/marketing-consents-subscriptions.d.mts +1 -0
- package/dist/services/marketing-consents-subscriptions.d.ts +1 -0
- package/dist/services/marketing-consents-types.d.mts +1 -0
- package/dist/services/marketing-consents-types.d.ts +1 -0
- package/dist/services/markets.d.mts +5 -4
- package/dist/services/markets.d.ts +5 -4
- package/dist/services/markets.js.map +1 -1
- package/dist/services/markets.mjs.map +1 -1
- package/dist/services/messaging.d.mts +1 -0
- package/dist/services/messaging.d.ts +1 -0
- package/dist/services/orderlists.d.mts +1 -0
- package/dist/services/orderlists.d.ts +1 -0
- package/dist/services/orders.d.mts +1 -0
- package/dist/services/orders.d.ts +1 -0
- package/dist/services/pages-collaboration.d.mts +1 -0
- package/dist/services/pages-collaboration.d.ts +1 -0
- package/dist/services/pages-delivery.d.mts +1 -0
- package/dist/services/pages-delivery.d.ts +1 -0
- package/dist/services/pages-editor.d.mts +1 -0
- package/dist/services/pages-editor.d.ts +1 -0
- package/dist/services/pages.d.mts +1 -0
- package/dist/services/pages.d.ts +1 -0
- package/dist/services/payments-ledger.d.mts +1 -0
- package/dist/services/payments-ledger.d.ts +1 -0
- package/dist/services/payments-methods.d.mts +20 -0
- package/dist/services/payments-methods.d.ts +20 -0
- package/dist/services/payments-methods.js +24 -0
- package/dist/services/payments-methods.js.map +1 -1
- package/dist/services/payments-methods.mjs +24 -0
- package/dist/services/payments-methods.mjs.map +1 -1
- package/dist/services/payments-providers.d.mts +3 -2
- package/dist/services/payments-providers.d.ts +3 -2
- package/dist/services/payments-providers.js.map +1 -1
- package/dist/services/payments-providers.mjs.map +1 -1
- package/dist/services/prices.d.mts +1 -0
- package/dist/services/prices.d.ts +1 -0
- package/dist/services/procurement.d.mts +1 -0
- package/dist/services/procurement.d.ts +1 -0
- package/dist/services/products-assets.d.mts +1 -0
- package/dist/services/products-assets.d.ts +1 -0
- package/dist/services/products-categories.d.mts +1 -0
- package/dist/services/products-categories.d.ts +1 -0
- package/dist/services/products-data-model.d.mts +20 -0
- package/dist/services/products-data-model.d.ts +20 -0
- package/dist/services/products-data-model.js +29 -0
- package/dist/services/products-data-model.js.map +1 -1
- package/dist/services/products-data-model.mjs +29 -0
- package/dist/services/products-data-model.mjs.map +1 -1
- package/dist/services/products-manufacturers.d.mts +1 -0
- package/dist/services/products-manufacturers.d.ts +1 -0
- package/dist/services/products-references.d.mts +1 -0
- package/dist/services/products-references.d.ts +1 -0
- package/dist/services/products.d.mts +20 -0
- package/dist/services/products.d.ts +20 -0
- package/dist/services/products.js +24 -0
- package/dist/services/products.js.map +1 -1
- package/dist/services/products.mjs +24 -0
- package/dist/services/products.mjs.map +1 -1
- package/dist/services/promotions-evaluation.d.mts +1 -0
- package/dist/services/promotions-evaluation.d.ts +1 -0
- package/dist/services/promotions-promotions.d.mts +1 -0
- package/dist/services/promotions-promotions.d.ts +1 -0
- package/dist/services/promotions-redemptions.d.mts +1 -0
- package/dist/services/promotions-redemptions.d.ts +1 -0
- package/dist/services/promotions-vouchers.d.mts +1 -0
- package/dist/services/promotions-vouchers.d.ts +1 -0
- package/dist/services/punchout.d.mts +4 -3
- package/dist/services/punchout.d.ts +4 -3
- package/dist/services/punchout.js +1 -1
- package/dist/services/punchout.js.map +1 -1
- package/dist/services/punchout.mjs +1 -1
- package/dist/services/punchout.mjs.map +1 -1
- package/dist/services/quotes-acceptance.d.mts +1 -0
- package/dist/services/quotes-acceptance.d.ts +1 -0
- package/dist/services/quotes-pricing.d.mts +1 -0
- package/dist/services/quotes-pricing.d.ts +1 -0
- package/dist/services/quotes-quotes.d.mts +1 -0
- package/dist/services/quotes-quotes.d.ts +1 -0
- package/dist/services/quotes-ranges.d.mts +1 -0
- package/dist/services/quotes-ranges.d.ts +1 -0
- package/dist/services/quotes-trail.d.mts +1 -0
- package/dist/services/quotes-trail.d.ts +1 -0
- package/dist/services/reviews-aggregates.d.mts +1 -0
- package/dist/services/reviews-aggregates.d.ts +1 -0
- package/dist/services/reviews-jobs.d.mts +1 -0
- package/dist/services/reviews-jobs.d.ts +1 -0
- package/dist/services/reviews-moderation.d.mts +1 -0
- package/dist/services/reviews-moderation.d.ts +1 -0
- package/dist/services/reviews-privacy.d.mts +1 -0
- package/dist/services/reviews-privacy.d.ts +1 -0
- package/dist/services/reviews-products.d.mts +1 -0
- package/dist/services/reviews-products.d.ts +1 -0
- package/dist/services/reviews-requests.d.mts +1 -0
- package/dist/services/reviews-requests.d.ts +1 -0
- package/dist/services/reviews-reviews.d.mts +1 -0
- package/dist/services/reviews-reviews.d.ts +1 -0
- package/dist/services/reviews-vocabularies.d.mts +1 -0
- package/dist/services/reviews-vocabularies.d.ts +1 -0
- package/dist/services/sales-reps-acting-for.d.mts +1 -0
- package/dist/services/sales-reps-acting-for.d.ts +1 -0
- package/dist/services/sales-reps-coverage.d.mts +1 -0
- package/dist/services/sales-reps-coverage.d.ts +1 -0
- package/dist/services/sales-reps-roster.d.mts +1 -0
- package/dist/services/sales-reps-roster.d.ts +1 -0
- package/dist/services/search.d.mts +1 -0
- package/dist/services/search.d.ts +1 -0
- package/dist/services/settings.d.mts +1 -0
- package/dist/services/settings.d.ts +1 -0
- package/dist/services/shipping-carriers.d.mts +1 -0
- package/dist/services/shipping-carriers.d.ts +1 -0
- package/dist/services/shipping-methods.d.mts +5 -4
- package/dist/services/shipping-methods.d.ts +5 -4
- package/dist/services/shipping-methods.js.map +1 -1
- package/dist/services/shipping-methods.mjs.map +1 -1
- package/dist/services/shipping-value-lists.d.mts +1 -0
- package/dist/services/shipping-value-lists.d.ts +1 -0
- package/dist/services/sites.d.mts +1 -0
- package/dist/services/sites.d.ts +1 -0
- package/dist/services/storage.d.mts +1 -0
- package/dist/services/storage.d.ts +1 -0
- package/dist/services/tag-manager-container.d.mts +1 -0
- package/dist/services/tag-manager-container.d.ts +1 -0
- package/dist/services/tag-manager-delivery.d.mts +1 -0
- package/dist/services/tag-manager-delivery.d.ts +1 -0
- package/dist/services/tag-manager-tags.d.mts +1 -0
- package/dist/services/tag-manager-tags.d.ts +1 -0
- package/package.json +8 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/markets.ts"],"names":[],"mappings":"AAAA,SAAS,yBAA+D;AAQjE,MAAM,QAAQ;AAAA,EAGjB,YAAY,QAAgB;AACxB,SAAK,SAAS;AAAA,EAClB;AAAA,EA+CA,YACI,kBACG,MACuB;AAC1B,QAAI;AAEJ,QAAI,CAAC,iBAAkB,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACzG,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,IAAI;AAAA,QACJ,MAAM,KAAK,CAAC;AAAA,QACZ,MAAM,KAAK,CAAC;AAAA,QACZ,QAAQ,KAAK,CAAC;AAAA,QACd,UAAU,KAAK,CAAC;AAAA,QAChB,iBAAiB,KAAK,CAAC;AAAA,QACvB,uBAAuB,KAAK,CAAC;AAAA,QAC7B,QAAQ,KAAK,CAAC;AAAA,QACd,WAAW,KAAK,CAAC;AAAA,QACjB,UAAU,KAAK,CAAC;AAAA,QAChB,WAAW,KAAK,CAAC;AAAA,QACjB,WAAW,KAAK,EAAE;AAAA,QAClB,OAAO,KAAK,EAAE;AAAA,QACd,QAAQ,KAAK,EAAE;AAAA,QACf,OAAO,KAAK,EAAE;AAAA,MAClB;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO;AAClB,UAAM,OAAO,OAAO;AACpB,UAAM,OAAO,OAAO;AACpB,UAAM,SAAS,OAAO;AACtB,UAAM,WAAW,OAAO;AACxB,UAAM,kBAAkB,OAAO;AAC/B,UAAM,wBAAwB,OAAO;AACrC,UAAM,SAAS,OAAO;AACtB,UAAM,YAAY,OAAO;AACzB,UAAM,WAAW,OAAO;AACxB,UAAM,YAAY,OAAO;AACzB,UAAM,YAAY,OAAO;AACzB,UAAM,QAAQ,OAAO;AACrB,UAAM,SAAS,OAAO;AACtB,UAAM,QAAQ,OAAO;AAGrB,UAAM,UAAU;AAChB,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,OAAO,aAAa;AAC3B,iBAAW,IAAI,IAAI;AAAA,IACvB;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,oBAAoB,aAAa;AACxC,iBAAW,mBAAmB,IAAI;AAAA,IACtC;AACA,QAAI,OAAO,0BAA0B,aAAa;AAC9C,iBAAW,0BAA0B,IAAI;AAAA,IAC7C;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,UAAU,aAAa;AAC9B,iBAAW,OAAO,IAAI;AAAA,IAC1B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,UAAU,aAAa;AAC9B,iBAAW,OAAO,IAAI;AAAA,IAC1B;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAmCA,cACI,kBACG,MACmB;AACtB,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,MAAM;AAAA,QACN,MAAM,KAAK,CAAC;AAAA,QACZ,UAAU,KAAK,CAAC;AAAA,QAChB,WAAW,KAAK,CAAC;AAAA,QACjB,QAAQ,KAAK,CAAC;AAAA,QACd,UAAU,KAAK,CAAC;AAAA,QAChB,iBAAiB,KAAK,CAAC;AAAA,QACvB,uBAAuB,KAAK,CAAC;AAAA,QAC7B,QAAQ,KAAK,CAAC;AAAA,MAClB;AAAA,IACJ;AAEA,UAAM,OAAO,OAAO;AACpB,UAAM,OAAO,OAAO;AACpB,UAAM,WAAW,OAAO;AACxB,UAAM,YAAY,OAAO;AACzB,UAAM,SAAS,OAAO;AACtB,UAAM,WAAW,OAAO;AACxB,UAAM,kBAAkB,OAAO;AAC/B,UAAM,wBAAwB,OAAO;AACrC,UAAM,SAAS,OAAO;AAEtB,QAAI,OAAO,SAAS,aAAa;AAC7B,YAAM,IAAI,kBAAkB,oCAAoC;AAAA,IACpE;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,YAAM,IAAI,kBAAkB,oCAAoC;AAAA,IACpE;AAEA,UAAM,UAAU;AAChB,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,oBAAoB,aAAa;AACxC,iBAAW,mBAAmB,IAAI;AAAA,IACtC;AACA,QAAI,OAAO,0BAA0B,aAAa;AAC9C,iBAAW,0BAA0B,IAAI;AAAA,IAC7C;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C;AAAA,MAC7C,gBAAgB;AAAA,IACpB;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,sBAA0D;AAEtD,UAAM,UAAU;AAChB,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,sBAA8D;AAE1D,UAAM,UAAU;AAChB,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAmBA,kBACI,eACiC;AACjC,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,KAAM,UAAU,eAAiB;AACpH,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,MAAM;AAAA,MACV;AAAA,IACJ;AAEA,UAAM,OAAO,OAAO;AAEpB,QAAI,OAAO,SAAS,aAAa;AAC7B,YAAM,IAAI,kBAAkB,oCAAoC;AAAA,IACpE;AAEA,UAAM,UAAU,kCAAkC,QAAQ,UAAU,IAAI;AACxE,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAmBA,cACI,eAC6B;AAC7B,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,IAAI;AAAA,MACR;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO;AAElB,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,mBAAmB,QAAQ,QAAQ,EAAE;AACrD,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAmBA,WACI,eACsB;AACtB,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,IAAI;AAAA,MACR;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO;AAElB,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,mBAAmB,QAAQ,QAAQ,EAAE;AACrD,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAqCA,cACI,kBACG,MACmB;AACtB,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,IAAI;AAAA,QACJ,MAAM,KAAK,CAAC;AAAA,QACZ,UAAU,KAAK,CAAC;AAAA,QAChB,WAAW,KAAK,CAAC;AAAA,QACjB,QAAQ,KAAK,CAAC;AAAA,QACd,MAAM,KAAK,CAAC;AAAA,QACZ,UAAU,KAAK,CAAC;AAAA,QAChB,iBAAiB,KAAK,CAAC;AAAA,QACvB,uBAAuB,KAAK,CAAC;AAAA,QAC7B,QAAQ,KAAK,CAAC;AAAA,MAClB;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO;AAClB,UAAM,OAAO,OAAO;AACpB,UAAM,WAAW,OAAO;AACxB,UAAM,YAAY,OAAO;AACzB,UAAM,SAAS,OAAO;AACtB,UAAM,OAAO,OAAO;AACpB,UAAM,WAAW,OAAO;AACxB,UAAM,kBAAkB,OAAO;AAC/B,UAAM,wBAAwB,OAAO;AACrC,UAAM,SAAS,OAAO;AAEtB,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,mBAAmB,QAAQ,QAAQ,EAAE;AACrD,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,oBAAoB,aAAa;AACxC,iBAAW,mBAAmB,IAAI;AAAA,IACtC;AACA,QAAI,OAAO,0BAA0B,aAAa;AAC9C,iBAAW,0BAA0B,IAAI;AAAA,IAC7C;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C;AAAA,MAC7C,gBAAgB;AAAA,IACpB;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EA2BA,gBACI,kBACG,MACiC;AACpC,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,IAAI;AAAA,QACJ,QAAQ,KAAK,CAAC;AAAA,QACd,YAAY,KAAK,CAAC;AAAA,QAClB,SAAS,KAAK,CAAC;AAAA,QACf,YAAY,KAAK,CAAC;AAAA,MACtB;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO;AAClB,UAAM,SAAS,OAAO;AACtB,UAAM,aAAa,OAAO;AAC1B,UAAM,UAAU,OAAO;AACvB,UAAM,aAAa,OAAO;AAE1B,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,YAAM,IAAI,kBAAkB,sCAAsC;AAAA,IACtE;AAEA,UAAM,UAAU,4BAA4B,QAAQ,QAAQ,EAAE;AAC9D,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,eAAe,aAAa;AACnC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,YAAY,aAAa;AAChC,iBAAW,SAAS,IAAI;AAAA,IAC5B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,eAAe,aAAa;AACnC,iBAAW,aAAa,IAAI;AAAA,IAChC;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C;AAAA,MAC7C,gBAAgB;AAAA,IACpB;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAmCA,aACI,kBACG,MAC8B;AACjC,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,IAAI;AAAA,QACJ,MAAM,KAAK,CAAC;AAAA,QACZ,gBAAgB,KAAK,CAAC;AAAA,QACtB,aAAa,KAAK,CAAC;AAAA,QACnB,gBAAgB,KAAK,CAAC;AAAA,QACtB,UAAU,KAAK,CAAC;AAAA,QAChB,MAAM,KAAK,CAAC;AAAA,QACZ,iBAAiB,KAAK,CAAC;AAAA,QACvB,QAAQ,KAAK,CAAC;AAAA,MAClB;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO;AAClB,UAAM,OAAO,OAAO;AACpB,UAAM,iBAAiB,OAAO;AAC9B,UAAM,cAAc,OAAO;AAC3B,UAAM,iBAAiB,OAAO;AAC9B,UAAM,WAAW,OAAO;AACxB,UAAM,OAAO,OAAO;AACpB,UAAM,kBAAkB,OAAO;AAC/B,UAAM,SAAS,OAAO;AAEtB,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,YAAM,IAAI,kBAAkB,oCAAoC;AAAA,IACpE;AAEA,UAAM,UAAU,yBAAyB,QAAQ,QAAQ,EAAE;AAC3D,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,mBAAmB,aAAa;AACvC,iBAAW,iBAAiB,IAAI;AAAA,IACpC;AACA,QAAI,OAAO,gBAAgB,aAAa;AACpC,iBAAW,cAAc,IAAI;AAAA,IACjC;AACA,QAAI,OAAO,mBAAmB,aAAa;AACvC,iBAAW,kBAAkB,IAAI;AAAA,IACrC;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,oBAAoB,aAAa;AACxC,iBAAW,mBAAmB,IAAI;AAAA,IACtC;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C;AAAA,MAC7C,gBAAgB;AAAA,IACpB;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAqBA,uBACI,kBACG,MACmB;AACtB,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,IAAI;AAAA,QACJ,MAAM,KAAK,CAAC;AAAA,MAChB;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO;AAClB,UAAM,OAAO,OAAO;AAEpB,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,YAAM,IAAI,kBAAkB,oCAAoC;AAAA,IACpE;AAEA,UAAM,UAAU,qCAAqC,QAAQ,QAAQ,EAAE;AACvE,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,SAAS,aAAa;AAC7B,aAAO,OAAO,YAAY,IAAI;AAAA,IAClC;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C;AAAA,MAC7C,gBAAgB;AAAA,IACpB;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAmBA,eACI,eAC6B;AAC7B,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,IAAI;AAAA,MACR;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO;AAElB,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,2BAA2B,QAAQ,QAAQ,EAAE;AAC7D,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAqBA,mBACI,kBACG,MACsC;AACzC,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,IAAI;AAAA,QACJ,MAAM,KAAK,CAAC;AAAA,MAChB;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO;AAClB,UAAM,OAAO,OAAO;AAEpB,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,YAAM,IAAI,kBAAkB,oCAAoC;AAAA,IACpE;AAEA,UAAM,UAAU,gCAAgC,QAAQ,QAAQ,EAAE;AAClE,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,SAAS,aAAa;AAC7B,aAAO,OAAO,YAAY,IAAI;AAAA,IAClC;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C;AAAA,MAC7C,gBAAgB;AAAA,IACpB;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAmBA,iBACI,eACqC;AACrC,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,IAAI;AAAA,MACR;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO;AAElB,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,6BAA6B,QAAQ,QAAQ,EAAE;AAC/D,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAuCA,sBACI,kBACG,MAC+B;AAClC,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,IAAI,KAAK,CAAC;AAAA,QACV,MAAM,KAAK,CAAC;AAAA,QACZ,WAAW,KAAK,CAAC;AAAA,QACjB,QAAQ,KAAK,CAAC;AAAA,QACd,UAAU,KAAK,CAAC;AAAA,QAChB,WAAW,KAAK,CAAC;AAAA,QACjB,WAAW,KAAK,CAAC;AAAA,QACjB,OAAO,KAAK,CAAC;AAAA,QACb,QAAQ,KAAK,CAAC;AAAA,QACd,OAAO,KAAK,CAAC;AAAA,MACjB;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,KAAK,OAAO;AAClB,UAAM,OAAO,OAAO;AACpB,UAAM,YAAY,OAAO;AACzB,UAAM,SAAS,OAAO;AACtB,UAAM,WAAW,OAAO;AACxB,UAAM,YAAY,OAAO;AACzB,UAAM,YAAY,OAAO;AACzB,UAAM,QAAQ,OAAO;AACrB,UAAM,SAAS,OAAO;AACtB,UAAM,QAAQ,OAAO;AAErB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AAEA,UAAM,UAAU,qCAAqC,QAAQ,eAAe,QAAQ;AACpF,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,OAAO,aAAa;AAC3B,iBAAW,IAAI,IAAI;AAAA,IACvB;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,UAAU,aAAa;AAC9B,iBAAW,OAAO,IAAI;AAAA,IAC1B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,UAAU,aAAa;AAC9B,iBAAW,OAAO,IAAI;AAAA,IAC1B;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EA2BA,wBACI,kBACG,MAC2B;AAC9B,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,MAAM,KAAK,CAAC;AAAA,QACZ,QAAQ,KAAK,CAAC;AAAA,QACd,WAAW,KAAK,CAAC;AAAA,QACjB,UAAU,KAAK,CAAC;AAAA,MACpB;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,OAAO,OAAO;AACpB,UAAM,SAAS,OAAO;AACtB,UAAM,YAAY,OAAO;AACzB,UAAM,WAAW,OAAO;AAExB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,YAAM,IAAI,kBAAkB,oCAAoC;AAAA,IACpE;AAEA,UAAM,UAAU,qCAAqC,QAAQ,eAAe,QAAQ;AACpF,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C;AAAA,MAC7C,gBAAgB;AAAA,IACpB;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAqBA,wBACI,kBACG,MACkC;AACrC,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,IAAI,KAAK,CAAC;AAAA,MACd;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,KAAK,OAAO;AAElB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AACA,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,0CAA0C,QAAQ,eAAe,QAAQ,EAAE,QAAQ,QAAQ,EAAE;AAC7G,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAqBA,qBACI,kBACG,MAC2B;AAC9B,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,IAAI,KAAK,CAAC;AAAA,MACd;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,KAAK,OAAO;AAElB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AACA,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,0CAA0C,QAAQ,eAAe,QAAQ,EAAE,QAAQ,QAAQ,EAAE;AAC7G,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EA6BA,wBACI,kBACG,MAC2B;AAC9B,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,IAAI,KAAK,CAAC;AAAA,QACV,QAAQ,KAAK,CAAC;AAAA,QACd,MAAM,KAAK,CAAC;AAAA,QACZ,WAAW,KAAK,CAAC;AAAA,QACjB,UAAU,KAAK,CAAC;AAAA,MACpB;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,KAAK,OAAO;AAClB,UAAM,SAAS,OAAO;AACtB,UAAM,OAAO,OAAO;AACpB,UAAM,YAAY,OAAO;AACzB,UAAM,WAAW,OAAO;AAExB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AACA,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,0CAA0C,QAAQ,eAAe,QAAQ,EAAE,QAAQ,QAAQ,EAAE;AAC7G,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C;AAAA,MAC7C,gBAAgB;AAAA,IACpB;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EA2CA,mBACI,kBACG,MAC6B;AAChC,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,IAAI,KAAK,CAAC;AAAA,QACV,MAAM,KAAK,CAAC;AAAA,QACZ,UAAU,KAAK,CAAC;AAAA,QAChB,SAAS,KAAK,CAAC;AAAA,QACf,WAAW,KAAK,CAAC;AAAA,QACjB,UAAU,KAAK,CAAC;AAAA,QAChB,QAAQ,KAAK,CAAC;AAAA,QACd,WAAW,KAAK,CAAC;AAAA,QACjB,WAAW,KAAK,CAAC;AAAA,QACjB,OAAO,KAAK,CAAC;AAAA,QACb,QAAQ,KAAK,EAAE;AAAA,QACf,OAAO,KAAK,EAAE;AAAA,MAClB;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,KAAK,OAAO;AAClB,UAAM,OAAO,OAAO;AACpB,UAAM,WAAW,OAAO;AACxB,UAAM,UAAU,OAAO;AACvB,UAAM,YAAY,OAAO;AACzB,UAAM,WAAW,OAAO;AACxB,UAAM,SAAS,OAAO;AACtB,UAAM,YAAY,OAAO;AACzB,UAAM,YAAY,OAAO;AACzB,UAAM,QAAQ,OAAO;AACrB,UAAM,SAAS,OAAO;AACtB,UAAM,QAAQ,OAAO;AAErB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AAEA,UAAM,UAAU,kCAAkC,QAAQ,eAAe,QAAQ;AACjF,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,OAAO,aAAa;AAC3B,iBAAW,IAAI,IAAI;AAAA,IACvB;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,YAAY,aAAa;AAChC,iBAAW,SAAS,IAAI;AAAA,IAC5B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,UAAU,aAAa;AAC9B,iBAAW,OAAO,IAAI;AAAA,IAC1B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,UAAU,aAAa;AAC9B,iBAAW,OAAO,IAAI;AAAA,IAC1B;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EA+BA,qBACI,kBACG,MACyB;AAC5B,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,MAAM,KAAK,CAAC;AAAA,QACZ,SAAS,KAAK,CAAC;AAAA,QACf,WAAW,KAAK,CAAC;AAAA,QACjB,UAAU,KAAK,CAAC;AAAA,QAChB,UAAU,KAAK,CAAC;AAAA,QAChB,QAAQ,KAAK,CAAC;AAAA,MAClB;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,OAAO,OAAO;AACpB,UAAM,UAAU,OAAO;AACvB,UAAM,YAAY,OAAO;AACzB,UAAM,WAAW,OAAO;AACxB,UAAM,WAAW,OAAO;AACxB,UAAM,SAAS,OAAO;AAEtB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,YAAM,IAAI,kBAAkB,oCAAoC;AAAA,IACpE;AAEA,UAAM,UAAU,kCAAkC,QAAQ,eAAe,QAAQ;AACjF,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,YAAY,aAAa;AAChC,iBAAW,SAAS,IAAI;AAAA,IAC5B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C;AAAA,MAC7C,gBAAgB;AAAA,IACpB;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAqBA,qBACI,kBACG,MACgC;AACnC,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,IAAI,KAAK,CAAC;AAAA,MACd;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,KAAK,OAAO;AAElB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AACA,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,uCAAuC,QAAQ,eAAe,QAAQ,EAAE,QAAQ,QAAQ,EAAE;AAC1G,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAqBA,kBACI,kBACG,MACyB;AAC5B,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,IAAI,KAAK,CAAC;AAAA,MACd;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,KAAK,OAAO;AAElB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AACA,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,uCAAuC,QAAQ,eAAe,QAAQ,EAAE,QAAQ,QAAQ,EAAE;AAC1G,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAiCA,qBACI,kBACG,MACyB;AAC5B,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,IAAI,KAAK,CAAC;AAAA,QACV,MAAM,KAAK,CAAC;AAAA,QACZ,SAAS,KAAK,CAAC;AAAA,QACf,WAAW,KAAK,CAAC;AAAA,QACjB,UAAU,KAAK,CAAC;AAAA,QAChB,UAAU,KAAK,CAAC;AAAA,QAChB,QAAQ,KAAK,CAAC;AAAA,MAClB;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,KAAK,OAAO;AAClB,UAAM,OAAO,OAAO;AACpB,UAAM,UAAU,OAAO;AACvB,UAAM,YAAY,OAAO;AACzB,UAAM,WAAW,OAAO;AACxB,UAAM,WAAW,OAAO;AACxB,UAAM,SAAS,OAAO;AAEtB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AACA,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,uCAAuC,QAAQ,eAAe,QAAQ,EAAE,QAAQ,QAAQ,EAAE;AAC1G,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,YAAY,aAAa;AAChC,iBAAW,SAAS,IAAI;AAAA,IAC5B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C;AAAA,MAC7C,gBAAgB;AAAA,IACpB;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EA6CA,sBACI,kBACG,MAC+B;AAClC,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,IAAI,KAAK,CAAC;AAAA,QACV,MAAM,KAAK,CAAC;AAAA,QACZ,MAAM,KAAK,CAAC;AAAA,QACZ,QAAQ,KAAK,CAAC;AAAA,QACd,MAAM,KAAK,CAAC;AAAA,QACZ,WAAW,KAAK,CAAC;AAAA,QACjB,QAAQ,KAAK,CAAC;AAAA,QACd,UAAU,KAAK,CAAC;AAAA,QAChB,WAAW,KAAK,CAAC;AAAA,QACjB,WAAW,KAAK,CAAC;AAAA,QACjB,OAAO,KAAK,EAAE;AAAA,QACd,QAAQ,KAAK,EAAE;AAAA,QACf,OAAO,KAAK,EAAE;AAAA,MAClB;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,KAAK,OAAO;AAClB,UAAM,OAAO,OAAO;AACpB,UAAM,OAAO,OAAO;AACpB,UAAM,SAAS,OAAO;AACtB,UAAM,OAAO,OAAO;AACpB,UAAM,YAAY,OAAO;AACzB,UAAM,SAAS,OAAO;AACtB,UAAM,WAAW,OAAO;AACxB,UAAM,YAAY,OAAO;AACzB,UAAM,YAAY,OAAO;AACzB,UAAM,QAAQ,OAAO;AACrB,UAAM,SAAS,OAAO;AACtB,UAAM,QAAQ,OAAO;AAErB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AAEA,UAAM,UAAU,sCAAsC,QAAQ,eAAe,QAAQ;AACrF,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,OAAO,aAAa;AAC3B,iBAAW,IAAI,IAAI;AAAA,IACvB;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,UAAU,aAAa;AAC9B,iBAAW,OAAO,IAAI;AAAA,IAC1B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,UAAU,aAAa;AAC9B,iBAAW,OAAO,IAAI;AAAA,IAC1B;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAiCA,wBACI,kBACG,MAC2B;AAC9B,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,MAAM,KAAK,CAAC;AAAA,QACZ,MAAM,KAAK,CAAC;AAAA,QACZ,QAAQ,KAAK,CAAC;AAAA,QACd,WAAW,KAAK,CAAC;AAAA,QACjB,QAAQ,KAAK,CAAC;AAAA,QACd,UAAU,KAAK,CAAC;AAAA,QAChB,MAAM,KAAK,CAAC;AAAA,MAChB;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,OAAO,OAAO;AACpB,UAAM,OAAO,OAAO;AACpB,UAAM,SAAS,OAAO;AACtB,UAAM,YAAY,OAAO;AACzB,UAAM,SAAS,OAAO;AACtB,UAAM,WAAW,OAAO;AACxB,UAAM,OAAO,OAAO;AAEpB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,YAAM,IAAI,kBAAkB,oCAAoC;AAAA,IACpE;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,YAAM,IAAI,kBAAkB,oCAAoC;AAAA,IACpE;AAEA,UAAM,UAAU,sCAAsC,QAAQ,eAAe,QAAQ;AACrF,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C;AAAA,MAC7C,gBAAgB;AAAA,IACpB;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAqBA,wBACI,kBACG,MACkC;AACrC,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,IAAI,KAAK,CAAC;AAAA,MACd;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,KAAK,OAAO;AAElB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AACA,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,2CAA2C,QAAQ,eAAe,QAAQ,EAAE,QAAQ,QAAQ,EAAE;AAC9G,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAqBA,qBACI,kBACG,MAC2B;AAC9B,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,IAAI,KAAK,CAAC;AAAA,MACd;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,KAAK,OAAO;AAElB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AACA,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,2CAA2C,QAAQ,eAAe,QAAQ,EAAE,QAAQ,QAAQ,EAAE;AAC9G,UAAM,aAAsB,CAAC;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C,CACjD;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAmCA,wBACI,kBACG,MAC2B;AAC9B,QAAI;AAEJ,QAAK,iBAAiB,OAAO,kBAAkB,YAAY,CAAC,MAAM,QAAQ,aAAa,GAAI;AACvF,eAAU,iBAAiB,CAAC;AAAA,IAChC,OAAO;AACH,eAAS;AAAA,QACL,UAAU;AAAA,QACV,IAAI,KAAK,CAAC;AAAA,QACV,QAAQ,KAAK,CAAC;AAAA,QACd,MAAM,KAAK,CAAC;AAAA,QACZ,WAAW,KAAK,CAAC;AAAA,QACjB,QAAQ,KAAK,CAAC;AAAA,QACd,MAAM,KAAK,CAAC;AAAA,QACZ,UAAU,KAAK,CAAC;AAAA,QAChB,MAAM,KAAK,CAAC;AAAA,MAChB;AAAA,IACJ;AAEA,UAAM,WAAW,OAAO;AACxB,UAAM,KAAK,OAAO;AAClB,UAAM,SAAS,OAAO;AACtB,UAAM,OAAO,OAAO;AACpB,UAAM,YAAY,OAAO;AACzB,UAAM,SAAS,OAAO;AACtB,UAAM,OAAO,OAAO;AACpB,UAAM,WAAW,OAAO;AACxB,UAAM,OAAO,OAAO;AAEpB,QAAI,OAAO,aAAa,aAAa;AACjC,YAAM,IAAI,kBAAkB,wCAAwC;AAAA,IACxE;AACA,QAAI,OAAO,OAAO,aAAa;AAC3B,YAAM,IAAI,kBAAkB,kCAAkC;AAAA,IAClE;AAEA,UAAM,UAAU,2CAA2C,QAAQ,eAAe,QAAQ,EAAE,QAAQ,QAAQ,EAAE;AAC9G,UAAM,aAAsB,CAAC;AAC7B,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,cAAc,aAAa;AAClC,iBAAW,YAAY,IAAI;AAAA,IAC/B;AACA,QAAI,OAAO,WAAW,aAAa;AAC/B,iBAAW,QAAQ,IAAI;AAAA,IAC3B;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,QAAI,OAAO,aAAa,aAAa;AACjC,iBAAW,UAAU,IAAI;AAAA,IAC7B;AACA,QAAI,OAAO,SAAS,aAAa;AAC7B,iBAAW,MAAM,IAAI;AAAA,IACzB;AACA,UAAM,MAAM,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,OAAO;AAEzD,UAAM,aAA2C;AAAA,MAC7C,gBAAgB;AAAA,IACpB;AAEA,WAAO,KAAK,OAAO;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AACJ","sourcesContent":["import { RevenexxException, Client, type Payload, UploadProgress } from '../client';\nimport type { Models } from '../models';\n\nimport { MarketsListStatus } from '../enums/markets-list-status';\nimport { MarketStatus } from '../enums/market-status';\nimport { MarketsVocabularyName } from '../enums/markets-vocabulary-name';\nimport { MarketsLocalesCreateStatus } from '../enums/markets-locales-create-status';\n\nexport class Markets {\n client: Client;\n\n constructor(client: Client) {\n this.client = client;\n }\n\n /**\n * Every column is an exact-match filter and they combine with AND (?code=northwind); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing.\n *\n * @param {string} params.id - Exact match on `id`. Primary key. Note that OTHER apps do not store this: the market scope dimension is keyed on `code` (manifest `provides_scopes.slug_source = markets.code`), so a row elsewhere that is \"in this market\" carries the code, not this uuid. It is the item routes and /context that want this value.\n * @param {string} params.code - Exact match on `code`. Market code, unique per tenant, and the single most load-bearing string in this app: it IS the market scope slug. The Entity Scoping Engine publishes it as the `market` dimension (`scope_context.market` in the JWT), and every other commerce app — products, prices, orders, customers — stores THIS value to say which market a row belongs to. Renaming it would re-key that scope for everyone, so it is fixed once the market exists (an update that changes it is a 409). Accepted in place of the uuid on /readiness, /clone, /backfill and /make-default — but not on the item routes or /context, which take a uuid only.\n * @param {string} params.name - Exact match on `name`. Display name, in the operator's own language. Cockpit copy only — nothing resolves a market by it.\n * @param {string} params.labels - Exact match on `labels`. Exact whole-document equality on the jsonb: the value is a whole JSON document and has to match every key, so this is not a path or a containment query. Key order and whitespace are irrelevant — the comparison is semantic. A value that does not parse as JSON is refused with 400 `invalid_value` rather than answered with zero rows. Localized display names for storefronts, keyed by locale: a flat {locale: label} map, one level deep, string values. WHICH key to write is not free — GET /markets/{id}/context returns `locale_policy`, whose `write` is the key this tenant keys by (a full locale under regional granularity, a bare language under language granularity) and whose `read` is the order to try. Null means nothing is translated and `name` is all there is.\n * @param {string} params.currency - Exact match on `currency`. Base currency this market quotes in — ISO 4217, and schema.json's own default is 'EUR'. This is the single currency prices are STATED in; the currencies collection under the market is the wider set it accepts. A base currency missing from that collection is a blocking readiness failure.\n * @param {string} params.shipFromCountry - Exact match on `ship_from_country`. The country this market ships from — upper-case ISO 3166-1 alpha-2 (RAD-246). Documents print an address for this country when they carry no sender address of their own, so it is what decides whether an address counts as abroad. The platform passes it to every app next to the market code. Required on every market written since 3.1.0: a create without it takes it from a code that is a country code (`de` → DE) and is refused otherwise; a market stored before then may answer null until the backfill has run.\n * @param {boolean} params.shipFromCountryReview - Exact match on `ship_from_country_review`. True when the backfill could not take `ship_from_country` from the code and filled in the tenant's first market country as a guess. Readiness reports it as a warning until a write names the country, which clears it. Never written by a caller.\n * @param {MarketsListStatus} params.status - Exact match on `status`. Default 'active'. Only an active market serves a storefront; 'inactive' keeps the market and all its configuration but takes it out of service. Readiness reports an active market that cannot trade as `serving: true, ready: false` — live and broken.\n * @param {boolean} params.isDefault - Exact match on `is_default`. The tenant default market — what a call naming no market falls back to. Exactly one market holds it, and it is moved only with POST /markets/{id}/make-default: a create may set it only while the tenant has none, and an update cannot change it.\n * @param {number} params.position - Exact match on `position`. Sort position among the tenant's markets, ascending, default 0. Presentation only — it decides the order the Cockpit and a market picker list them in, and nothing resolves a market by it.\n * @param {string} params.createdAt - Exact match on `created_at`. When the market row was inserted. Set by the database; never writable.\n * @param {string} params.updatedAt - Exact match on `updated_at`. When the market row was last written. Set by the database on every update; never writable.\n * @param {number} params.limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} params.offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} params.order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, code, name, labels, currency, ship_from_country, ship_from_country_review, status, is_default, position, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketList>}\n */\n marketsList(params?: { id?: string, code?: string, name?: string, labels?: string, currency?: string, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketsListStatus, isDefault?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string }): Promise<Models.MarketList>;\n /**\n * Every column is an exact-match filter and they combine with AND (?code=northwind); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing.\n *\n * @param {string} id - Exact match on `id`. Primary key. Note that OTHER apps do not store this: the market scope dimension is keyed on `code` (manifest `provides_scopes.slug_source = markets.code`), so a row elsewhere that is \"in this market\" carries the code, not this uuid. It is the item routes and /context that want this value.\n * @param {string} code - Exact match on `code`. Market code, unique per tenant, and the single most load-bearing string in this app: it IS the market scope slug. The Entity Scoping Engine publishes it as the `market` dimension (`scope_context.market` in the JWT), and every other commerce app — products, prices, orders, customers — stores THIS value to say which market a row belongs to. Renaming it would re-key that scope for everyone, so it is fixed once the market exists (an update that changes it is a 409). Accepted in place of the uuid on /readiness, /clone, /backfill and /make-default — but not on the item routes or /context, which take a uuid only.\n * @param {string} name - Exact match on `name`. Display name, in the operator's own language. Cockpit copy only — nothing resolves a market by it.\n * @param {string} labels - Exact match on `labels`. Exact whole-document equality on the jsonb: the value is a whole JSON document and has to match every key, so this is not a path or a containment query. Key order and whitespace are irrelevant — the comparison is semantic. A value that does not parse as JSON is refused with 400 `invalid_value` rather than answered with zero rows. Localized display names for storefronts, keyed by locale: a flat {locale: label} map, one level deep, string values. WHICH key to write is not free — GET /markets/{id}/context returns `locale_policy`, whose `write` is the key this tenant keys by (a full locale under regional granularity, a bare language under language granularity) and whose `read` is the order to try. Null means nothing is translated and `name` is all there is.\n * @param {string} currency - Exact match on `currency`. Base currency this market quotes in — ISO 4217, and schema.json's own default is 'EUR'. This is the single currency prices are STATED in; the currencies collection under the market is the wider set it accepts. A base currency missing from that collection is a blocking readiness failure.\n * @param {string} shipFromCountry - Exact match on `ship_from_country`. The country this market ships from — upper-case ISO 3166-1 alpha-2 (RAD-246). Documents print an address for this country when they carry no sender address of their own, so it is what decides whether an address counts as abroad. The platform passes it to every app next to the market code. Required on every market written since 3.1.0: a create without it takes it from a code that is a country code (`de` → DE) and is refused otherwise; a market stored before then may answer null until the backfill has run.\n * @param {boolean} shipFromCountryReview - Exact match on `ship_from_country_review`. True when the backfill could not take `ship_from_country` from the code and filled in the tenant's first market country as a guess. Readiness reports it as a warning until a write names the country, which clears it. Never written by a caller.\n * @param {MarketsListStatus} status - Exact match on `status`. Default 'active'. Only an active market serves a storefront; 'inactive' keeps the market and all its configuration but takes it out of service. Readiness reports an active market that cannot trade as `serving: true, ready: false` — live and broken.\n * @param {boolean} isDefault - Exact match on `is_default`. The tenant default market — what a call naming no market falls back to. Exactly one market holds it, and it is moved only with POST /markets/{id}/make-default: a create may set it only while the tenant has none, and an update cannot change it.\n * @param {number} position - Exact match on `position`. Sort position among the tenant's markets, ascending, default 0. Presentation only — it decides the order the Cockpit and a market picker list them in, and nothing resolves a market by it.\n * @param {string} createdAt - Exact match on `created_at`. When the market row was inserted. Set by the database; never writable.\n * @param {string} updatedAt - Exact match on `updated_at`. When the market row was last written. Set by the database on every update; never writable.\n * @param {number} limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, code, name, labels, currency, ship_from_country, ship_from_country_review, status, is_default, position, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketList>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsList(id?: string, code?: string, name?: string, labels?: string, currency?: string, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketsListStatus, isDefault?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string): Promise<Models.MarketList>;\n marketsList(\n paramsOrFirst?: { id?: string, code?: string, name?: string, labels?: string, currency?: string, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketsListStatus, isDefault?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string } | string,\n ...rest: [(string)?, (string)?, (string)?, (string)?, (string)?, (boolean)?, (MarketsListStatus)?, (boolean)?, (number)?, (string)?, (string)?, (number)?, (number)?, (string)?] \n ): Promise<Models.MarketList> {\n let params: { id?: string, code?: string, name?: string, labels?: string, currency?: string, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketsListStatus, isDefault?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n \n if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id?: string, code?: string, name?: string, labels?: string, currency?: string, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketsListStatus, isDefault?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n } else {\n params = {\n id: paramsOrFirst as string,\n code: rest[0] as string,\n name: rest[1] as string,\n labels: rest[2] as string,\n currency: rest[3] as string,\n shipFromCountry: rest[4] as string,\n shipFromCountryReview: rest[5] as boolean,\n status: rest[6] as MarketsListStatus,\n isDefault: rest[7] as boolean,\n position: rest[8] as number,\n createdAt: rest[9] as string,\n updatedAt: rest[10] as string,\n limit: rest[11] as number,\n offset: rest[12] as number,\n order: rest[13] as string \n };\n }\n \n const id = params.id;\n const code = params.code;\n const name = params.name;\n const labels = params.labels;\n const currency = params.currency;\n const shipFromCountry = params.shipFromCountry;\n const shipFromCountryReview = params.shipFromCountryReview;\n const status = params.status;\n const isDefault = params.isDefault;\n const position = params.position;\n const createdAt = params.createdAt;\n const updatedAt = params.updatedAt;\n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n\n const apiPath = '/v1/markets';\n const apiPayload: Payload = {};\n if (typeof id !== 'undefined') {\n apiPayload['id'] = id;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof labels !== 'undefined') {\n apiPayload['labels'] = labels;\n }\n if (typeof currency !== 'undefined') {\n apiPayload['currency'] = currency;\n }\n if (typeof shipFromCountry !== 'undefined') {\n apiPayload['ship_from_country'] = shipFromCountry;\n }\n if (typeof shipFromCountryReview !== 'undefined') {\n apiPayload['ship_from_country_review'] = shipFromCountryReview;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof createdAt !== 'undefined') {\n apiPayload['created_at'] = createdAt;\n }\n if (typeof updatedAt !== 'undefined') {\n apiPayload['updated_at'] = updatedAt;\n }\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * A market needs a 'code' and a 'name' — currency defaults to EUR, status to active. To get a market that can actually trade, clone an existing one instead: POST /markets/{id}/clone.\n *\n * @param {string} params.code - Market code — the market scope slug every other app stores. Lowercase letters, digits and underscores, starting with a letter, at most 63 characters (400 `invalid_market_code`). Fixed once the market exists: an update that changes it is refused with 409 `code_immutable`; the same value sent back is accepted and ignored.\n * @param {string} params.name - Display name, in the operator's own language. Cockpit copy only — nothing resolves a market by it.\n * @param {string} params.currency - Base currency, upper-case ISO 4217 (400 `invalid_currency` otherwise — it is not uppercased for you). Defaults to EUR.\n * @param {boolean} params.isDefault - The tenant default flag. On a create, `true` is accepted only while the tenant has no default market (409 `default_exists` otherwise). On an update it cannot change — move it with POST /markets/{id}/make-default (400 `default_via_make_default`); the current value sent back is accepted and ignored.\n * @param {object} params.labels - Localized display names for storefronts, keyed by locale: a flat {locale: label} map, one level deep, string values. WHICH key to write is not free — GET /markets/{id}/context returns `locale_policy`, whose `write` is the key this tenant keys by (a full locale under regional granularity, a bare language under language granularity) and whose `read` is the order to try. Null means nothing is translated and `name` is all there is.\n * @param {number} params.position - Sort position among the tenant's markets, ascending, default 0. Presentation only — it decides the order the Cockpit and a market picker list them in, and nothing resolves a market by it.\n * @param {string} params.shipFromCountry - Upper-case ISO 3166-1 alpha-2 country this market ships from, checked against the assigned codes (400 `invalid_country` otherwise — it is not uppercased for you). On a create it may be omitted only when the code is a country code, and is then taken from it (`de` → DE); otherwise 400 `ship_from_country_required`. On an update it cannot be cleared. Naming it confirms it and clears `ship_from_country_review`.\n * @param {boolean} params.shipFromCountryReview - Set by the backfill only. A body may send back `false` or the stored value; anything else is refused with 400 `server_owned_field`.\n * @param {MarketStatus} params.status - Default 'active'. Only an active market serves a storefront; 'inactive' keeps the market and all its configuration but takes it out of service. Readiness reports an active market that cannot trade as `serving: true, ready: false` — live and broken.\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n */\n marketsCreate(params: { code: string, name: string, currency?: string, isDefault?: boolean, labels?: object, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus }): Promise<Models.Market>;\n /**\n * A market needs a 'code' and a 'name' — currency defaults to EUR, status to active. To get a market that can actually trade, clone an existing one instead: POST /markets/{id}/clone.\n *\n * @param {string} code - Market code — the market scope slug every other app stores. Lowercase letters, digits and underscores, starting with a letter, at most 63 characters (400 `invalid_market_code`). Fixed once the market exists: an update that changes it is refused with 409 `code_immutable`; the same value sent back is accepted and ignored.\n * @param {string} name - Display name, in the operator's own language. Cockpit copy only — nothing resolves a market by it.\n * @param {string} currency - Base currency, upper-case ISO 4217 (400 `invalid_currency` otherwise — it is not uppercased for you). Defaults to EUR.\n * @param {boolean} isDefault - The tenant default flag. On a create, `true` is accepted only while the tenant has no default market (409 `default_exists` otherwise). On an update it cannot change — move it with POST /markets/{id}/make-default (400 `default_via_make_default`); the current value sent back is accepted and ignored.\n * @param {object} labels - Localized display names for storefronts, keyed by locale: a flat {locale: label} map, one level deep, string values. WHICH key to write is not free — GET /markets/{id}/context returns `locale_policy`, whose `write` is the key this tenant keys by (a full locale under regional granularity, a bare language under language granularity) and whose `read` is the order to try. Null means nothing is translated and `name` is all there is.\n * @param {number} position - Sort position among the tenant's markets, ascending, default 0. Presentation only — it decides the order the Cockpit and a market picker list them in, and nothing resolves a market by it.\n * @param {string} shipFromCountry - Upper-case ISO 3166-1 alpha-2 country this market ships from, checked against the assigned codes (400 `invalid_country` otherwise — it is not uppercased for you). On a create it may be omitted only when the code is a country code, and is then taken from it (`de` → DE); otherwise 400 `ship_from_country_required`. On an update it cannot be cleared. Naming it confirms it and clears `ship_from_country_review`.\n * @param {boolean} shipFromCountryReview - Set by the backfill only. A body may send back `false` or the stored value; anything else is refused with 400 `server_owned_field`.\n * @param {MarketStatus} status - Default 'active'. Only an active market serves a storefront; 'inactive' keeps the market and all its configuration but takes it out of service. Readiness reports an active market that cannot trade as `serving: true, ready: false` — live and broken.\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsCreate(code: string, name: string, currency?: string, isDefault?: boolean, labels?: object, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus): Promise<Models.Market>;\n marketsCreate(\n paramsOrFirst: { code: string, name: string, currency?: string, isDefault?: boolean, labels?: object, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus } | string,\n ...rest: [(string)?, (string)?, (boolean)?, (object)?, (number)?, (string)?, (boolean)?, (MarketStatus)?] \n ): Promise<Models.Market> {\n let params: { code: string, name: string, currency?: string, isDefault?: boolean, labels?: object, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { code: string, name: string, currency?: string, isDefault?: boolean, labels?: object, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus };\n } else {\n params = {\n code: paramsOrFirst as string,\n name: rest[0] as string,\n currency: rest[1] as string,\n isDefault: rest[2] as boolean,\n labels: rest[3] as object,\n position: rest[4] as number,\n shipFromCountry: rest[5] as string,\n shipFromCountryReview: rest[6] as boolean,\n status: rest[7] as MarketStatus \n };\n }\n \n const code = params.code;\n const name = params.name;\n const currency = params.currency;\n const isDefault = params.isDefault;\n const labels = params.labels;\n const position = params.position;\n const shipFromCountry = params.shipFromCountry;\n const shipFromCountryReview = params.shipFromCountryReview;\n const status = params.status;\n\n if (typeof code === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"code\"');\n }\n if (typeof name === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"name\"');\n }\n\n const apiPath = '/v1/markets';\n const apiPayload: Payload = {};\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof currency !== 'undefined') {\n apiPayload['currency'] = currency;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof labels !== 'undefined') {\n apiPayload['labels'] = labels;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof shipFromCountry !== 'undefined') {\n apiPayload['ship_from_country'] = shipFromCountry;\n }\n if (typeof shipFromCountryReview !== 'undefined') {\n apiPayload['ship_from_country_review'] = shipFromCountryReview;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * How this tenant keys its translations, resolved for a surface that stands in no market at all. The Cockpit edits a tenant BASELINE when no market is selected, and a baseline value has to be readable by every market — so the locale set answered here is the UNION of every market's locales, each one already resolved to the key it is written under, not one market's list and not a pair of setting names to re-implement. Each entry names the markets that asked for that locale: an editor listing six inputs without saying who needs them invites translations nobody will ever read. Write/read keys follow the same two settings as the per-market answer, so a baseline and a market value can never be keyed differently.\n *\n * @throws {RevenexxException}\n * @returns {Promise<Models.TenantLocalePolicy>}\n */\n marketsLocalePolicy(): Promise<Models.TenantLocalePolicy> {\n\n const apiPath = '/v1/markets/locale-policy';\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Every closed value set this app owns, listed by name with its title and its description but WITHOUT its values — enough to build a menu of them, and a name to fetch one by when a select box actually needs the values. Static per app version; nothing about a tenant changes it. It reads no table and takes no parameter, so 200 is the only answer it has beyond the gateway's own.\n *\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketsVocabularyIndex>}\n */\n marketsVocabularies(): Promise<Models.MarketsVocabularyIndex> {\n\n const apiPath = '/v1/markets/vocabularies';\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * One value set in full: every value the column may hold, in the order it may hold them, with the copy and the badge tone a client renders each one as. The values are not kept in a list beside the database, they are parsed out of the CHECK constraint in this app's own schema.json — so the set served here IS the set enforced on a write, and a select box built from it cannot offer a value the write would then refuse. A name outside the declared enum is a 404 rather than an empty list — an empty vocabulary and an unknown one mean different things to a select box.\n *\n * @param {MarketsVocabularyName} params.name - Which vocabulary to read. The enum is exhaustive — these are every value set this app owns, and anything else is a 404.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketsVocabulary>}\n */\n marketsVocabulary(params: { name: MarketsVocabularyName }): Promise<Models.MarketsVocabulary>;\n /**\n * One value set in full: every value the column may hold, in the order it may hold them, with the copy and the badge tone a client renders each one as. The values are not kept in a list beside the database, they are parsed out of the CHECK constraint in this app's own schema.json — so the set served here IS the set enforced on a write, and a select box built from it cannot offer a value the write would then refuse. A name outside the declared enum is a 404 rather than an empty list — an empty vocabulary and an unknown one mean different things to a select box.\n *\n * @param {MarketsVocabularyName} name - Which vocabulary to read. The enum is exhaustive — these are every value set this app owns, and anything else is a 404.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketsVocabulary>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsVocabulary(name: MarketsVocabularyName): Promise<Models.MarketsVocabulary>;\n marketsVocabulary(\n paramsOrFirst: { name: MarketsVocabularyName } | MarketsVocabularyName \n ): Promise<Models.MarketsVocabulary> {\n let params: { name: MarketsVocabularyName };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('name' in paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { name: MarketsVocabularyName };\n } else {\n params = {\n name: paramsOrFirst as MarketsVocabularyName \n };\n }\n \n const name = params.name;\n\n if (typeof name === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"name\"');\n }\n\n const apiPath = '/v1/markets/vocabularies/{name}'.replace('{name}', name);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Deleting a market takes its locales, currencies and tax classes with it: all three carry an ON DELETE CASCADE onto markets.id, so this is never refused for having children. The tenant's default market is not deleted (409 `default_market`) — move the flag first.\n *\n * @param {string} params.id - The market, by its primary key. A uuid — this route does not resolve a market code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketDeleted>}\n */\n marketsDelete(params: { id: string }): Promise<Models.MarketDeleted>;\n /**\n * Deleting a market takes its locales, currencies and tax classes with it: all three carry an ON DELETE CASCADE onto markets.id, so this is never refused for having children. The tenant's default market is not deleted (409 `default_market`) — move the flag first.\n *\n * @param {string} id - The market, by its primary key. A uuid — this route does not resolve a market code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketDeleted>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsDelete(id: string): Promise<Models.MarketDeleted>;\n marketsDelete(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.MarketDeleted> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'delete',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Resolved by uuid only — unlike /readiness, /clone, /backfill and /make-default, a market CODE here is a 400 rather than a lookup.\n *\n * @param {string} params.id - The market, by its primary key. A uuid — this route does not resolve a market code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n */\n marketsGet(params: { id: string }): Promise<Models.Market>;\n /**\n * Resolved by uuid only — unlike /readiness, /clone, /backfill and /make-default, a market CODE here is a 400 rather than a lookup.\n *\n * @param {string} id - The market, by its primary key. A uuid — this route does not resolve a market code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsGet(id: string): Promise<Models.Market>;\n marketsGet(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.Market> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} params.id - The market, by its primary key. A uuid — this route does not resolve a market code, so a segment that will not cast is a 400 before any row is read.\n * @param {string} params.code - Market code — the market scope slug every other app stores. Lowercase letters, digits and underscores, starting with a letter, at most 63 characters (400 `invalid_market_code`). Fixed once the market exists: an update that changes it is refused with 409 `code_immutable`; the same value sent back is accepted and ignored.\n * @param {string} params.currency - Base currency, upper-case ISO 4217 (400 `invalid_currency` otherwise — it is not uppercased for you). Defaults to EUR.\n * @param {boolean} params.isDefault - The tenant default flag. On a create, `true` is accepted only while the tenant has no default market (409 `default_exists` otherwise). On an update it cannot change — move it with POST /markets/{id}/make-default (400 `default_via_make_default`); the current value sent back is accepted and ignored.\n * @param {object} params.labels - Localized display names for storefronts, keyed by locale: a flat {locale: label} map, one level deep, string values. WHICH key to write is not free — GET /markets/{id}/context returns `locale_policy`, whose `write` is the key this tenant keys by (a full locale under regional granularity, a bare language under language granularity) and whose `read` is the order to try. Null means nothing is translated and `name` is all there is.\n * @param {string} params.name - Display name, in the operator's own language. Cockpit copy only — nothing resolves a market by it.\n * @param {number} params.position - Sort position among the tenant's markets, ascending, default 0. Presentation only — it decides the order the Cockpit and a market picker list them in, and nothing resolves a market by it.\n * @param {string} params.shipFromCountry - Upper-case ISO 3166-1 alpha-2 country this market ships from, checked against the assigned codes (400 `invalid_country` otherwise — it is not uppercased for you). On a create it may be omitted only when the code is a country code, and is then taken from it (`de` → DE); otherwise 400 `ship_from_country_required`. On an update it cannot be cleared. Naming it confirms it and clears `ship_from_country_review`.\n * @param {boolean} params.shipFromCountryReview - Set by the backfill only. A body may send back `false` or the stored value; anything else is refused with 400 `server_owned_field`.\n * @param {MarketStatus} params.status - Default 'active'. Only an active market serves a storefront; 'inactive' keeps the market and all its configuration but takes it out of service. Readiness reports an active market that cannot trade as `serving: true, ready: false` — live and broken.\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n */\n marketsUpdate(params: { id: string, code?: string, currency?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus }): Promise<Models.Market>;\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} id - The market, by its primary key. A uuid — this route does not resolve a market code, so a segment that will not cast is a 400 before any row is read.\n * @param {string} code - Market code — the market scope slug every other app stores. Lowercase letters, digits and underscores, starting with a letter, at most 63 characters (400 `invalid_market_code`). Fixed once the market exists: an update that changes it is refused with 409 `code_immutable`; the same value sent back is accepted and ignored.\n * @param {string} currency - Base currency, upper-case ISO 4217 (400 `invalid_currency` otherwise — it is not uppercased for you). Defaults to EUR.\n * @param {boolean} isDefault - The tenant default flag. On a create, `true` is accepted only while the tenant has no default market (409 `default_exists` otherwise). On an update it cannot change — move it with POST /markets/{id}/make-default (400 `default_via_make_default`); the current value sent back is accepted and ignored.\n * @param {object} labels - Localized display names for storefronts, keyed by locale: a flat {locale: label} map, one level deep, string values. WHICH key to write is not free — GET /markets/{id}/context returns `locale_policy`, whose `write` is the key this tenant keys by (a full locale under regional granularity, a bare language under language granularity) and whose `read` is the order to try. Null means nothing is translated and `name` is all there is.\n * @param {string} name - Display name, in the operator's own language. Cockpit copy only — nothing resolves a market by it.\n * @param {number} position - Sort position among the tenant's markets, ascending, default 0. Presentation only — it decides the order the Cockpit and a market picker list them in, and nothing resolves a market by it.\n * @param {string} shipFromCountry - Upper-case ISO 3166-1 alpha-2 country this market ships from, checked against the assigned codes (400 `invalid_country` otherwise — it is not uppercased for you). On a create it may be omitted only when the code is a country code, and is then taken from it (`de` → DE); otherwise 400 `ship_from_country_required`. On an update it cannot be cleared. Naming it confirms it and clears `ship_from_country_review`.\n * @param {boolean} shipFromCountryReview - Set by the backfill only. A body may send back `false` or the stored value; anything else is refused with 400 `server_owned_field`.\n * @param {MarketStatus} status - Default 'active'. Only an active market serves a storefront; 'inactive' keeps the market and all its configuration but takes it out of service. Readiness reports an active market that cannot trade as `serving: true, ready: false` — live and broken.\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsUpdate(id: string, code?: string, currency?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus): Promise<Models.Market>;\n marketsUpdate(\n paramsOrFirst: { id: string, code?: string, currency?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus } | string,\n ...rest: [(string)?, (string)?, (boolean)?, (object)?, (string)?, (number)?, (string)?, (boolean)?, (MarketStatus)?] \n ): Promise<Models.Market> {\n let params: { id: string, code?: string, currency?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, code?: string, currency?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus };\n } else {\n params = {\n id: paramsOrFirst as string,\n code: rest[0] as string,\n currency: rest[1] as string,\n isDefault: rest[2] as boolean,\n labels: rest[3] as object,\n name: rest[4] as string,\n position: rest[5] as number,\n shipFromCountry: rest[6] as string,\n shipFromCountryReview: rest[7] as boolean,\n status: rest[8] as MarketStatus \n };\n }\n \n const id = params.id;\n const code = params.code;\n const currency = params.currency;\n const isDefault = params.isDefault;\n const labels = params.labels;\n const name = params.name;\n const position = params.position;\n const shipFromCountry = params.shipFromCountry;\n const shipFromCountryReview = params.shipFromCountryReview;\n const status = params.status;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof currency !== 'undefined') {\n apiPayload['currency'] = currency;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof labels !== 'undefined') {\n apiPayload['labels'] = labels;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof shipFromCountry !== 'undefined') {\n apiPayload['ship_from_country'] = shipFromCountry;\n }\n if (typeof shipFromCountryReview !== 'undefined') {\n apiPayload['ship_from_country_review'] = shipFromCountryReview;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'put',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Repairs the market in the path out of a source market that is already right. The two are compared by CODE, collection by collection, and only the codes this market does not already carry are added — so a locale, a currency or a tax class it already holds is left exactly as the merchant left it, rate included, and is never overwritten. Both the path id and `source` are resolved by uuid OR by market code. Idempotent: running it twice adds nothing the second time.\n *\n * @param {string} params.id - The market being REPAIRED — a uuid or a market code.\n * @param {string} params.source - The market to copy the missing pieces FROM — a uuid or a market code. Must not be the market in the path. Pick a market that is already right; nothing about it is changed.\n * @param {boolean} params.currencies - Take the source's traded currencies for codes this market does not already carry. Default true.\n * @param {boolean} params.locales - Take the source's locales for codes this market does not already carry. Default true.\n * @param {boolean} params.taxClasses - Take the source's tax classes for codes this market does not already carry. An existing code keeps ITS rate — a backfill never re-rates a class the merchant already set. Default true.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketBackfillResult>}\n */\n marketsBackfill(params: { id: string, source: string, currencies?: boolean, locales?: boolean, taxClasses?: boolean }): Promise<Models.MarketBackfillResult>;\n /**\n * Repairs the market in the path out of a source market that is already right. The two are compared by CODE, collection by collection, and only the codes this market does not already carry are added — so a locale, a currency or a tax class it already holds is left exactly as the merchant left it, rate included, and is never overwritten. Both the path id and `source` are resolved by uuid OR by market code. Idempotent: running it twice adds nothing the second time.\n *\n * @param {string} id - The market being REPAIRED — a uuid or a market code.\n * @param {string} source - The market to copy the missing pieces FROM — a uuid or a market code. Must not be the market in the path. Pick a market that is already right; nothing about it is changed.\n * @param {boolean} currencies - Take the source's traded currencies for codes this market does not already carry. Default true.\n * @param {boolean} locales - Take the source's locales for codes this market does not already carry. Default true.\n * @param {boolean} taxClasses - Take the source's tax classes for codes this market does not already carry. An existing code keeps ITS rate — a backfill never re-rates a class the merchant already set. Default true.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketBackfillResult>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsBackfill(id: string, source: string, currencies?: boolean, locales?: boolean, taxClasses?: boolean): Promise<Models.MarketBackfillResult>;\n marketsBackfill(\n paramsOrFirst: { id: string, source: string, currencies?: boolean, locales?: boolean, taxClasses?: boolean } | string,\n ...rest: [(string)?, (boolean)?, (boolean)?, (boolean)?] \n ): Promise<Models.MarketBackfillResult> {\n let params: { id: string, source: string, currencies?: boolean, locales?: boolean, taxClasses?: boolean };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, source: string, currencies?: boolean, locales?: boolean, taxClasses?: boolean };\n } else {\n params = {\n id: paramsOrFirst as string,\n source: rest[0] as string,\n currencies: rest[1] as boolean,\n locales: rest[2] as boolean,\n taxClasses: rest[3] as boolean \n };\n }\n \n const id = params.id;\n const source = params.source;\n const currencies = params.currencies;\n const locales = params.locales;\n const taxClasses = params.taxClasses;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n if (typeof source === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"source\"');\n }\n\n const apiPath = '/v1/markets/{id}/backfill'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof currencies !== 'undefined') {\n apiPayload['currencies'] = currencies;\n }\n if (typeof locales !== 'undefined') {\n apiPayload['locales'] = locales;\n }\n if (typeof source !== 'undefined') {\n apiPayload['source'] = source;\n }\n if (typeof taxClasses !== 'undefined') {\n apiPayload['tax_classes'] = taxClasses;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Creates a NEW market out of an existing one, taking its locales, its traded currencies and its tax classes with it in a single call. That is the difference between this and POST /markets: a plain create leaves a row that cannot serve anybody, while what comes back here is a market with a language to render in, a currency to price in and a rate to tax with. The path id is the SOURCE market, resolved by uuid OR by market code.\n *\n * @param {string} params.id - The SOURCE market to copy — a uuid or a market code.\n * @param {string} params.code - Code of the NEW market (unique per tenant). Lowercase letters, digits and underscores, starting with a letter, at most 63 characters (400 `invalid_market_code`).\n * @param {boolean} params.copyCurrencies - Copy the source's traded currencies. Default true. The new market's own base currency is registered and marked default either way.\n * @param {boolean} params.copyLocales - Copy the source's locales. Default true. False leaves the new market with no language of its own, so the tenant fallback_locale is seeded instead — it is never left with none.\n * @param {boolean} params.copyTaxClasses - Copy the source's tax classes, rates and all. Default true. False leaves the market unable to tax anything, which readiness reports as blocking.\n * @param {string} params.currency - Base currency of the new market, upper-case ISO 4217 (400 `invalid_currency` — it is not uppercased for you). Defaults to the source market's, and is registered and marked default on the new one either way.\n * @param {string} params.name - Display name of the new market. Defaults to its code.\n * @param {string} params.shipFromCountry - Country the new market ships from, upper-case ISO 3166-1 alpha-2 (400 `invalid_country`). Defaults to the country the new code names when it is a country code, else to the source market's; a clone that ends up with none is refused with 400 `ship_from_country_required`.\n * @param {MarketStatus} params.status - Status of the new market. Defaults to 'inactive', so it is checked and built out before it serves anyone; send 'active' to put it live with the call.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCloneResult>}\n */\n marketsClone(params: { id: string, code: string, copyCurrencies?: boolean, copyLocales?: boolean, copyTaxClasses?: boolean, currency?: string, name?: string, shipFromCountry?: string, status?: MarketStatus }): Promise<Models.MarketCloneResult>;\n /**\n * Creates a NEW market out of an existing one, taking its locales, its traded currencies and its tax classes with it in a single call. That is the difference between this and POST /markets: a plain create leaves a row that cannot serve anybody, while what comes back here is a market with a language to render in, a currency to price in and a rate to tax with. The path id is the SOURCE market, resolved by uuid OR by market code.\n *\n * @param {string} id - The SOURCE market to copy — a uuid or a market code.\n * @param {string} code - Code of the NEW market (unique per tenant). Lowercase letters, digits and underscores, starting with a letter, at most 63 characters (400 `invalid_market_code`).\n * @param {boolean} copyCurrencies - Copy the source's traded currencies. Default true. The new market's own base currency is registered and marked default either way.\n * @param {boolean} copyLocales - Copy the source's locales. Default true. False leaves the new market with no language of its own, so the tenant fallback_locale is seeded instead — it is never left with none.\n * @param {boolean} copyTaxClasses - Copy the source's tax classes, rates and all. Default true. False leaves the market unable to tax anything, which readiness reports as blocking.\n * @param {string} currency - Base currency of the new market, upper-case ISO 4217 (400 `invalid_currency` — it is not uppercased for you). Defaults to the source market's, and is registered and marked default on the new one either way.\n * @param {string} name - Display name of the new market. Defaults to its code.\n * @param {string} shipFromCountry - Country the new market ships from, upper-case ISO 3166-1 alpha-2 (400 `invalid_country`). Defaults to the country the new code names when it is a country code, else to the source market's; a clone that ends up with none is refused with 400 `ship_from_country_required`.\n * @param {MarketStatus} status - Status of the new market. Defaults to 'inactive', so it is checked and built out before it serves anyone; send 'active' to put it live with the call.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCloneResult>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsClone(id: string, code: string, copyCurrencies?: boolean, copyLocales?: boolean, copyTaxClasses?: boolean, currency?: string, name?: string, shipFromCountry?: string, status?: MarketStatus): Promise<Models.MarketCloneResult>;\n marketsClone(\n paramsOrFirst: { id: string, code: string, copyCurrencies?: boolean, copyLocales?: boolean, copyTaxClasses?: boolean, currency?: string, name?: string, shipFromCountry?: string, status?: MarketStatus } | string,\n ...rest: [(string)?, (boolean)?, (boolean)?, (boolean)?, (string)?, (string)?, (string)?, (MarketStatus)?] \n ): Promise<Models.MarketCloneResult> {\n let params: { id: string, code: string, copyCurrencies?: boolean, copyLocales?: boolean, copyTaxClasses?: boolean, currency?: string, name?: string, shipFromCountry?: string, status?: MarketStatus };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, code: string, copyCurrencies?: boolean, copyLocales?: boolean, copyTaxClasses?: boolean, currency?: string, name?: string, shipFromCountry?: string, status?: MarketStatus };\n } else {\n params = {\n id: paramsOrFirst as string,\n code: rest[0] as string,\n copyCurrencies: rest[1] as boolean,\n copyLocales: rest[2] as boolean,\n copyTaxClasses: rest[3] as boolean,\n currency: rest[4] as string,\n name: rest[5] as string,\n shipFromCountry: rest[6] as string,\n status: rest[7] as MarketStatus \n };\n }\n \n const id = params.id;\n const code = params.code;\n const copyCurrencies = params.copyCurrencies;\n const copyLocales = params.copyLocales;\n const copyTaxClasses = params.copyTaxClasses;\n const currency = params.currency;\n const name = params.name;\n const shipFromCountry = params.shipFromCountry;\n const status = params.status;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n if (typeof code === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"code\"');\n }\n\n const apiPath = '/v1/markets/{id}/clone'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof copyCurrencies !== 'undefined') {\n apiPayload['copy_currencies'] = copyCurrencies;\n }\n if (typeof copyLocales !== 'undefined') {\n apiPayload['copy_locales'] = copyLocales;\n }\n if (typeof copyTaxClasses !== 'undefined') {\n apiPayload['copy_tax_classes'] = copyTaxClasses;\n }\n if (typeof currency !== 'undefined') {\n apiPayload['currency'] = currency;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof shipFromCountry !== 'undefined') {\n apiPayload['ship_from_country'] = shipFromCountry;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Clears `ship_from_country_review`, the flag the RAD-246 backfill set on a market whose ship-from country it had to guess. Editing the market clears it only when the country actually changes, because an edit form posts the stored value back and that confirms nothing; this is the call for \"the guessed country is right as it is\". Accepts an id or a market CODE. Answers the market; a market that carries no flag is answered unchanged and nothing is written.\n *\n * @param {string} params.id - The market whose ship-from country is confirmed — a uuid or a market code.\n * @param {object} params.data - Request body\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n */\n marketsConfirmShipFrom(params: { id: string, data: object }): Promise<Models.Market>;\n /**\n * Clears `ship_from_country_review`, the flag the RAD-246 backfill set on a market whose ship-from country it had to guess. Editing the market clears it only when the country actually changes, because an edit form posts the stored value back and that confirms nothing; this is the call for \"the guessed country is right as it is\". Accepts an id or a market CODE. Answers the market; a market that carries no flag is answered unchanged and nothing is written.\n *\n * @param {string} id - The market whose ship-from country is confirmed — a uuid or a market code.\n * @param {object} data - Request body\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsConfirmShipFrom(id: string, data: object): Promise<Models.Market>;\n marketsConfirmShipFrom(\n paramsOrFirst: { id: string, data: object } | string,\n ...rest: [(object)?] \n ): Promise<Models.Market> {\n let params: { id: string, data: object };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, data: object };\n } else {\n params = {\n id: paramsOrFirst as string,\n data: rest[0] as object \n };\n }\n \n const id = params.id;\n const data = params.data;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n if (typeof data === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"data\"');\n }\n\n const apiPath = '/v1/markets/{id}/confirm-ship-from'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof data !== 'undefined') {\n Object.assign(apiPayload, data);\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * The storefront bootstrap: everything a frontend needs to render one market, resolved server-side so no client re-derives it — the market row, its locales, the currencies it trades in and its tax classes; WHICH locale to actually render in and where that answer came from; which key to read and write a translation under; whether the prices it will be handed are gross or net; and whether any of it is trustworthy. One call rather than five, and — more to the point — one place the resolution rules live, instead of a slightly different copy of them in every storefront. This one resolves the market by id only: unlike /readiness, /clone and /backfill, a market CODE here is a 400, not a lookup.\n *\n * @param {string} params.id - The market. A uuid — this route does not accept a market code.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketContext>}\n */\n marketsContext(params: { id: string }): Promise<Models.MarketContext>;\n /**\n * The storefront bootstrap: everything a frontend needs to render one market, resolved server-side so no client re-derives it — the market row, its locales, the currencies it trades in and its tax classes; WHICH locale to actually render in and where that answer came from; which key to read and write a translation under; whether the prices it will be handed are gross or net; and whether any of it is trustworthy. One call rather than five, and — more to the point — one place the resolution rules live, instead of a slightly different copy of them in every storefront. This one resolves the market by id only: unlike /readiness, /clone and /backfill, a market CODE here is a 400, not a lookup.\n *\n * @param {string} id - The market. A uuid — this route does not accept a market code.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketContext>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsContext(id: string): Promise<Models.MarketContext>;\n marketsContext(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.MarketContext> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{id}/context'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * A tenant has ONE default market: it is what every call naming none falls back to. Moving the flag from a client was promote-then-demote, two PATCHes that leave two defaults when the second does not land and none when the first does. This is the one call instead — it promotes the market in the path and demotes whoever held the flag in the same operation, writing once per row that was actually wrong and not touching the rest. Accepts an id or a market CODE. Answers the market plus the codes it demoted; repeating the call writes nothing.\n *\n * @param {string} params.id - The market to promote — a uuid or a market code.\n * @param {object} params.data - Request body\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketMakeDefaultResponse>}\n */\n marketsMakeDefault(params: { id: string, data: object }): Promise<Models.MarketMakeDefaultResponse>;\n /**\n * A tenant has ONE default market: it is what every call naming none falls back to. Moving the flag from a client was promote-then-demote, two PATCHes that leave two defaults when the second does not land and none when the first does. This is the one call instead — it promotes the market in the path and demotes whoever held the flag in the same operation, writing once per row that was actually wrong and not touching the rest. Accepts an id or a market CODE. Answers the market plus the codes it demoted; repeating the call writes nothing.\n *\n * @param {string} id - The market to promote — a uuid or a market code.\n * @param {object} data - Request body\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketMakeDefaultResponse>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsMakeDefault(id: string, data: object): Promise<Models.MarketMakeDefaultResponse>;\n marketsMakeDefault(\n paramsOrFirst: { id: string, data: object } | string,\n ...rest: [(object)?] \n ): Promise<Models.MarketMakeDefaultResponse> {\n let params: { id: string, data: object };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, data: object };\n } else {\n params = {\n id: paramsOrFirst as string,\n data: rest[0] as object \n };\n }\n \n const id = params.id;\n const data = params.data;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n if (typeof data === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"data\"');\n }\n\n const apiPath = '/v1/markets/{id}/make-default'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof data !== 'undefined') {\n Object.assign(apiPayload, data);\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Whether this market can actually trade, and if not, what is missing. Every check runs on every call and comes back with its own severity, so the answer is a diagnosis rather than a yes or a no: a market with no currency registered has nothing to price in and a market with no tax class has nothing to tax with, and both of those fail BLOCKING, which is what turns `ready` false. A check that is merely degraded — no locale of its own, while the tenant declares a fallback_locale that covers for it — fails as a warning and leaves the market serviceable. Resolves the market by uuid OR by market code.\n *\n * @param {string} params.id - The market — a uuid or a market code.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketReadinessReport>}\n */\n marketsReadiness(params: { id: string }): Promise<Models.MarketReadinessReport>;\n /**\n * Whether this market can actually trade, and if not, what is missing. Every check runs on every call and comes back with its own severity, so the answer is a diagnosis rather than a yes or a no: a market with no currency registered has nothing to price in and a market with no tax class has nothing to tax with, and both of those fail BLOCKING, which is what turns `ready` false. A check that is merely degraded — no locale of its own, while the tenant declares a fallback_locale that covers for it — fails as a warning and leaves the market serviceable. Resolves the market by uuid OR by market code.\n *\n * @param {string} id - The market — a uuid or a market code.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketReadinessReport>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsReadiness(id: string): Promise<Models.MarketReadinessReport>;\n marketsReadiness(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.MarketReadinessReport> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{id}/readiness'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Every column is an exact-match filter and they combine with AND (?code=EUR); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing. `market_id` is not among them: the owning market comes from the path and overwrites anything the query says. An unknown but well-formed market lists empty rather than 404 — the parent is filtered on, not verified.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - Exact match on `id`. Primary key of this currency registration. The currency is named by `code` everywhere else.\n * @param {string} params.code - Exact match on `code`. ISO 4217 code, unique per market — one entry in the set of currencies this market TRADES in, as opposed to the single base currency on the market row that its prices are quoted in. The base currency must appear here or the market cannot serve; clone and backfill register it for you.\n * @param {boolean} params.isDefault - Exact match on `is_default`. The currency offered first to a buyer who states no preference. At most one per market — a write flagging one takes it from the others — and it should be the market's base currency — readiness reports it as a warning when it is not.\n * @param {boolean} params.active - Exact match on `active`. Whether this currency is offered for new records (default true) — a picker lists `?active=true`. An inactive currency stays on the market and on every record that already carries it, and is no longer offered as the market's booking currency. The market's default currency and its booking currency are always active.\n * @param {number} params.position - Exact match on `position`. Sort position among this market's currencies, ascending, default 0 — the order a currency switcher lists them in.\n * @param {string} params.createdAt - Exact match on `created_at`. When the currency was registered on this market. Set by the database; never writable.\n * @param {string} params.updatedAt - Exact match on `updated_at`. When the currency registration was last written. Set by the database on every update; never writable. A currency is changed in place — its default flag and its position move — so this is the column that says when that last happened.\n * @param {number} params.limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} params.offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} params.order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, market_id, code, is_default, active, position, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrencyList>}\n */\n marketsCurrenciesList(params: { marketId: string, id?: string, code?: string, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string }): Promise<Models.MarketCurrencyList>;\n /**\n * Every column is an exact-match filter and they combine with AND (?code=EUR); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing. `market_id` is not among them: the owning market comes from the path and overwrites anything the query says. An unknown but well-formed market lists empty rather than 404 — the parent is filtered on, not verified.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - Exact match on `id`. Primary key of this currency registration. The currency is named by `code` everywhere else.\n * @param {string} code - Exact match on `code`. ISO 4217 code, unique per market — one entry in the set of currencies this market TRADES in, as opposed to the single base currency on the market row that its prices are quoted in. The base currency must appear here or the market cannot serve; clone and backfill register it for you.\n * @param {boolean} isDefault - Exact match on `is_default`. The currency offered first to a buyer who states no preference. At most one per market — a write flagging one takes it from the others — and it should be the market's base currency — readiness reports it as a warning when it is not.\n * @param {boolean} active - Exact match on `active`. Whether this currency is offered for new records (default true) — a picker lists `?active=true`. An inactive currency stays on the market and on every record that already carries it, and is no longer offered as the market's booking currency. The market's default currency and its booking currency are always active.\n * @param {number} position - Exact match on `position`. Sort position among this market's currencies, ascending, default 0 — the order a currency switcher lists them in.\n * @param {string} createdAt - Exact match on `created_at`. When the currency was registered on this market. Set by the database; never writable.\n * @param {string} updatedAt - Exact match on `updated_at`. When the currency registration was last written. Set by the database on every update; never writable. A currency is changed in place — its default flag and its position move — so this is the column that says when that last happened.\n * @param {number} limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, market_id, code, is_default, active, position, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrencyList>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsCurrenciesList(marketId: string, id?: string, code?: string, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string): Promise<Models.MarketCurrencyList>;\n marketsCurrenciesList(\n paramsOrFirst: { marketId: string, id?: string, code?: string, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string } | string,\n ...rest: [(string)?, (string)?, (boolean)?, (boolean)?, (number)?, (string)?, (string)?, (number)?, (number)?, (string)?] \n ): Promise<Models.MarketCurrencyList> {\n let params: { marketId: string, id?: string, code?: string, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id?: string, code?: string, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string,\n code: rest[1] as string,\n isDefault: rest[2] as boolean,\n active: rest[3] as boolean,\n position: rest[4] as number,\n createdAt: rest[5] as string,\n updatedAt: rest[6] as string,\n limit: rest[7] as number,\n offset: rest[8] as number,\n order: rest[9] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n const code = params.code;\n const isDefault = params.isDefault;\n const active = params.active;\n const position = params.position;\n const createdAt = params.createdAt;\n const updatedAt = params.updatedAt;\n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/currencies'.replace('{market_id}', marketId);\n const apiPayload: Payload = {};\n if (typeof id !== 'undefined') {\n apiPayload['id'] = id;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof createdAt !== 'undefined') {\n apiPayload['created_at'] = createdAt;\n }\n if (typeof updatedAt !== 'undefined') {\n apiPayload['updated_at'] = updatedAt;\n }\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * The owning market comes from the path and overrides anything in the body.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.code - Upper-case ISO 4217 code (400 `invalid_currency` otherwise — it is not uppercased for you). Unique per market.\n * @param {boolean} params.active - False takes the currency out of the choices for new records; records that already carry it keep it. The default currency cannot be deactivated (409 `default_must_stay_active`), nor the market's booking currency (409 `booking_currency`, naming the market).\n * @param {boolean} params.isDefault - Flag this currency as the market's default. The flag MOVES: every other currency of the market loses it in the same call. An inactive currency cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {number} params.position - Sort position among this market's currencies, ascending, default 0 — the order a currency switcher lists them in.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrency>}\n */\n marketsCurrenciesCreate(params: { marketId: string, code: string, active?: boolean, isDefault?: boolean, position?: number }): Promise<Models.MarketCurrency>;\n /**\n * The owning market comes from the path and overrides anything in the body.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} code - Upper-case ISO 4217 code (400 `invalid_currency` otherwise — it is not uppercased for you). Unique per market.\n * @param {boolean} active - False takes the currency out of the choices for new records; records that already carry it keep it. The default currency cannot be deactivated (409 `default_must_stay_active`), nor the market's booking currency (409 `booking_currency`, naming the market).\n * @param {boolean} isDefault - Flag this currency as the market's default. The flag MOVES: every other currency of the market loses it in the same call. An inactive currency cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {number} position - Sort position among this market's currencies, ascending, default 0 — the order a currency switcher lists them in.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrency>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsCurrenciesCreate(marketId: string, code: string, active?: boolean, isDefault?: boolean, position?: number): Promise<Models.MarketCurrency>;\n marketsCurrenciesCreate(\n paramsOrFirst: { marketId: string, code: string, active?: boolean, isDefault?: boolean, position?: number } | string,\n ...rest: [(string)?, (boolean)?, (boolean)?, (number)?] \n ): Promise<Models.MarketCurrency> {\n let params: { marketId: string, code: string, active?: boolean, isDefault?: boolean, position?: number };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, code: string, active?: boolean, isDefault?: boolean, position?: number };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n code: rest[0] as string,\n active: rest[1] as boolean,\n isDefault: rest[2] as boolean,\n position: rest[3] as number \n };\n }\n \n const marketId = params.marketId;\n const code = params.code;\n const active = params.active;\n const isDefault = params.isDefault;\n const position = params.position;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof code === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"code\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/currencies'.replace('{market_id}', marketId);\n const apiPayload: Payload = {};\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Scoped to the market in the path — a row belonging to another market is a 404 here, and is never deleted.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The currency of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrencyDeleted>}\n */\n marketsCurrenciesDelete(params: { marketId: string, id: string }): Promise<Models.MarketCurrencyDeleted>;\n /**\n * Scoped to the market in the path — a row belonging to another market is a 404 here, and is never deleted.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The currency of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrencyDeleted>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsCurrenciesDelete(marketId: string, id: string): Promise<Models.MarketCurrencyDeleted>;\n marketsCurrenciesDelete(\n paramsOrFirst: { marketId: string, id: string } | string,\n ...rest: [(string)?] \n ): Promise<Models.MarketCurrencyDeleted> {\n let params: { marketId: string, id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/currencies/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'delete',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Scoped strictly to the market in the path: a row belonging to another market is a 404 here, never a 200.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The currency of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrency>}\n */\n marketsCurrenciesGet(params: { marketId: string, id: string }): Promise<Models.MarketCurrency>;\n /**\n * Scoped strictly to the market in the path: a row belonging to another market is a 404 here, never a 200.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The currency of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrency>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsCurrenciesGet(marketId: string, id: string): Promise<Models.MarketCurrency>;\n marketsCurrenciesGet(\n paramsOrFirst: { marketId: string, id: string } | string,\n ...rest: [(string)?] \n ): Promise<Models.MarketCurrency> {\n let params: { marketId: string, id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/currencies/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The currency of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @param {boolean} params.active - False takes the currency out of the choices for new records; records that already carry it keep it. The default currency cannot be deactivated (409 `default_must_stay_active`), nor the market's booking currency (409 `booking_currency`, naming the market).\n * @param {string} params.code - Upper-case ISO 4217 code (400 `invalid_currency` otherwise — it is not uppercased for you). Unique per market.\n * @param {boolean} params.isDefault - Flag this currency as the market's default. The flag MOVES: every other currency of the market loses it in the same call. An inactive currency cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {number} params.position - Sort position among this market's currencies, ascending, default 0 — the order a currency switcher lists them in.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrency>}\n */\n marketsCurrenciesUpdate(params: { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, position?: number }): Promise<Models.MarketCurrency>;\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The currency of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @param {boolean} active - False takes the currency out of the choices for new records; records that already carry it keep it. The default currency cannot be deactivated (409 `default_must_stay_active`), nor the market's booking currency (409 `booking_currency`, naming the market).\n * @param {string} code - Upper-case ISO 4217 code (400 `invalid_currency` otherwise — it is not uppercased for you). Unique per market.\n * @param {boolean} isDefault - Flag this currency as the market's default. The flag MOVES: every other currency of the market loses it in the same call. An inactive currency cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {number} position - Sort position among this market's currencies, ascending, default 0 — the order a currency switcher lists them in.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrency>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsCurrenciesUpdate(marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, position?: number): Promise<Models.MarketCurrency>;\n marketsCurrenciesUpdate(\n paramsOrFirst: { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, position?: number } | string,\n ...rest: [(string)?, (boolean)?, (string)?, (boolean)?, (number)?] \n ): Promise<Models.MarketCurrency> {\n let params: { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, position?: number };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, position?: number };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string,\n active: rest[1] as boolean,\n code: rest[2] as string,\n isDefault: rest[3] as boolean,\n position: rest[4] as number \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n const active = params.active;\n const code = params.code;\n const isDefault = params.isDefault;\n const position = params.position;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/currencies/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'put',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Every column is an exact-match filter and they combine with AND (?code=de-DE); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing. `market_id` is not among them: the owning market comes from the path and overwrites anything the query says. An unknown but well-formed market lists empty rather than 404 — the parent is filtered on, not verified.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - Exact match on `id`. Primary key of this locale registration. The locale is named by `code` everywhere else.\n * @param {string} params.code - Exact match on `code`. Locale code, language-COUNTRY — the language a storefront renders this market in, and the key a translation is stored under. Unique per market. The app's own seeded value is the tenant's `fallback_locale` setting, whose declared default is de-DE.\n * @param {string} params.language - Exact match on `language`. ISO 639-1 language code — the language half of `code`, stored separately so a client can group markets by language without parsing.\n * @param {string} params.country - Exact match on `country`. ISO 3166-1 alpha-2 country code — the region half of `code`. It is a spelling of the language, not a shipping destination: a market may register de-AT without trading in Austria.\n * @param {boolean} params.isDefault - Exact match on `is_default`. The locale a storefront renders this market in when the request asks for none. At most one per market — a write flagging one takes it from the others; where none carries the flag the first by position is used, and `default_locale.source` on the context says which of the two happened.\n * @param {number} params.position - Exact match on `position`. Sort position among this market's locales, ascending, default 0 — and the tie-break that picks a default when no locale is flagged.\n * @param {string} params.status - Exact match on `status`. 'preparing' while the search index for this language is still being built, 'active' once a storefront may offer it. A storefront offers active locales only, and a preparing locale is never the one `default_locale` renders in. Defaults to active.\n * @param {string} params.createdAt - Exact match on `created_at`. When the locale was registered on this market. Set by the database; never writable.\n * @param {string} params.updatedAt - Exact match on `updated_at`. When the locale registration was last written. Set by the database on every update; never writable. A locale is changed in place — its default flag and its position move — so this is the column that says when that last happened.\n * @param {number} params.limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} params.offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} params.order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, market_id, code, language, country, is_default, position, status, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocaleList>}\n */\n marketsLocalesList(params: { marketId: string, id?: string, code?: string, language?: string, country?: string, isDefault?: boolean, position?: number, status?: string, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string }): Promise<Models.MarketLocaleList>;\n /**\n * Every column is an exact-match filter and they combine with AND (?code=de-DE); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing. `market_id` is not among them: the owning market comes from the path and overwrites anything the query says. An unknown but well-formed market lists empty rather than 404 — the parent is filtered on, not verified.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - Exact match on `id`. Primary key of this locale registration. The locale is named by `code` everywhere else.\n * @param {string} code - Exact match on `code`. Locale code, language-COUNTRY — the language a storefront renders this market in, and the key a translation is stored under. Unique per market. The app's own seeded value is the tenant's `fallback_locale` setting, whose declared default is de-DE.\n * @param {string} language - Exact match on `language`. ISO 639-1 language code — the language half of `code`, stored separately so a client can group markets by language without parsing.\n * @param {string} country - Exact match on `country`. ISO 3166-1 alpha-2 country code — the region half of `code`. It is a spelling of the language, not a shipping destination: a market may register de-AT without trading in Austria.\n * @param {boolean} isDefault - Exact match on `is_default`. The locale a storefront renders this market in when the request asks for none. At most one per market — a write flagging one takes it from the others; where none carries the flag the first by position is used, and `default_locale.source` on the context says which of the two happened.\n * @param {number} position - Exact match on `position`. Sort position among this market's locales, ascending, default 0 — and the tie-break that picks a default when no locale is flagged.\n * @param {string} status - Exact match on `status`. 'preparing' while the search index for this language is still being built, 'active' once a storefront may offer it. A storefront offers active locales only, and a preparing locale is never the one `default_locale` renders in. Defaults to active.\n * @param {string} createdAt - Exact match on `created_at`. When the locale was registered on this market. Set by the database; never writable.\n * @param {string} updatedAt - Exact match on `updated_at`. When the locale registration was last written. Set by the database on every update; never writable. A locale is changed in place — its default flag and its position move — so this is the column that says when that last happened.\n * @param {number} limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, market_id, code, language, country, is_default, position, status, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocaleList>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsLocalesList(marketId: string, id?: string, code?: string, language?: string, country?: string, isDefault?: boolean, position?: number, status?: string, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string): Promise<Models.MarketLocaleList>;\n marketsLocalesList(\n paramsOrFirst: { marketId: string, id?: string, code?: string, language?: string, country?: string, isDefault?: boolean, position?: number, status?: string, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string } | string,\n ...rest: [(string)?, (string)?, (string)?, (string)?, (boolean)?, (number)?, (string)?, (string)?, (string)?, (number)?, (number)?, (string)?] \n ): Promise<Models.MarketLocaleList> {\n let params: { marketId: string, id?: string, code?: string, language?: string, country?: string, isDefault?: boolean, position?: number, status?: string, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id?: string, code?: string, language?: string, country?: string, isDefault?: boolean, position?: number, status?: string, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string,\n code: rest[1] as string,\n language: rest[2] as string,\n country: rest[3] as string,\n isDefault: rest[4] as boolean,\n position: rest[5] as number,\n status: rest[6] as string,\n createdAt: rest[7] as string,\n updatedAt: rest[8] as string,\n limit: rest[9] as number,\n offset: rest[10] as number,\n order: rest[11] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n const code = params.code;\n const language = params.language;\n const country = params.country;\n const isDefault = params.isDefault;\n const position = params.position;\n const status = params.status;\n const createdAt = params.createdAt;\n const updatedAt = params.updatedAt;\n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/locales'.replace('{market_id}', marketId);\n const apiPayload: Payload = {};\n if (typeof id !== 'undefined') {\n apiPayload['id'] = id;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof language !== 'undefined') {\n apiPayload['language'] = language;\n }\n if (typeof country !== 'undefined') {\n apiPayload['country'] = country;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n if (typeof createdAt !== 'undefined') {\n apiPayload['created_at'] = createdAt;\n }\n if (typeof updatedAt !== 'undefined') {\n apiPayload['updated_at'] = updatedAt;\n }\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * The owning market comes from the path and overrides anything in the body.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.code - Locale code, language-COUNTRY: ISO 639-1 lower case, a hyphen, ISO 3166-1 upper case — `de-DE` (400 `invalid_locale_code`). Unique per market.\n * @param {string} params.country - The country half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {boolean} params.isDefault - Flag this locale as the market's default. The flag MOVES: every other locale of the market loses it in the same call.\n * @param {string} params.language - The language half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {number} params.position - Sort position among this market's locales, ascending, default 0 — and the tie-break that picks a default when no locale is flagged.\n * @param {MarketsLocalesCreateStatus} params.status - 'preparing' or 'active' (400 `invalid_locale_status` otherwise); active when a new locale names none. Add a language as preparing, and switch it to active once its search index is ready.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocale>}\n */\n marketsLocalesCreate(params: { marketId: string, code: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: MarketsLocalesCreateStatus }): Promise<Models.MarketLocale>;\n /**\n * The owning market comes from the path and overrides anything in the body.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} code - Locale code, language-COUNTRY: ISO 639-1 lower case, a hyphen, ISO 3166-1 upper case — `de-DE` (400 `invalid_locale_code`). Unique per market.\n * @param {string} country - The country half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {boolean} isDefault - Flag this locale as the market's default. The flag MOVES: every other locale of the market loses it in the same call.\n * @param {string} language - The language half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {number} position - Sort position among this market's locales, ascending, default 0 — and the tie-break that picks a default when no locale is flagged.\n * @param {MarketsLocalesCreateStatus} status - 'preparing' or 'active' (400 `invalid_locale_status` otherwise); active when a new locale names none. Add a language as preparing, and switch it to active once its search index is ready.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocale>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsLocalesCreate(marketId: string, code: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: MarketsLocalesCreateStatus): Promise<Models.MarketLocale>;\n marketsLocalesCreate(\n paramsOrFirst: { marketId: string, code: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: MarketsLocalesCreateStatus } | string,\n ...rest: [(string)?, (string)?, (boolean)?, (string)?, (number)?, (MarketsLocalesCreateStatus)?] \n ): Promise<Models.MarketLocale> {\n let params: { marketId: string, code: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: MarketsLocalesCreateStatus };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, code: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: MarketsLocalesCreateStatus };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n code: rest[0] as string,\n country: rest[1] as string,\n isDefault: rest[2] as boolean,\n language: rest[3] as string,\n position: rest[4] as number,\n status: rest[5] as MarketsLocalesCreateStatus \n };\n }\n \n const marketId = params.marketId;\n const code = params.code;\n const country = params.country;\n const isDefault = params.isDefault;\n const language = params.language;\n const position = params.position;\n const status = params.status;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof code === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"code\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/locales'.replace('{market_id}', marketId);\n const apiPayload: Payload = {};\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof country !== 'undefined') {\n apiPayload['country'] = country;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof language !== 'undefined') {\n apiPayload['language'] = language;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Scoped to the market in the path — a row belonging to another market is a 404 here, and is never deleted.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The locale of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocaleDeleted>}\n */\n marketsLocalesDelete(params: { marketId: string, id: string }): Promise<Models.MarketLocaleDeleted>;\n /**\n * Scoped to the market in the path — a row belonging to another market is a 404 here, and is never deleted.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The locale of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocaleDeleted>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsLocalesDelete(marketId: string, id: string): Promise<Models.MarketLocaleDeleted>;\n marketsLocalesDelete(\n paramsOrFirst: { marketId: string, id: string } | string,\n ...rest: [(string)?] \n ): Promise<Models.MarketLocaleDeleted> {\n let params: { marketId: string, id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/locales/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'delete',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Scoped strictly to the market in the path: a row belonging to another market is a 404 here, never a 200.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The locale of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocale>}\n */\n marketsLocalesGet(params: { marketId: string, id: string }): Promise<Models.MarketLocale>;\n /**\n * Scoped strictly to the market in the path: a row belonging to another market is a 404 here, never a 200.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The locale of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocale>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsLocalesGet(marketId: string, id: string): Promise<Models.MarketLocale>;\n marketsLocalesGet(\n paramsOrFirst: { marketId: string, id: string } | string,\n ...rest: [(string)?] \n ): Promise<Models.MarketLocale> {\n let params: { marketId: string, id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/locales/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The locale of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @param {string} params.code - Locale code, language-COUNTRY: ISO 639-1 lower case, a hyphen, ISO 3166-1 upper case — `de-DE` (400 `invalid_locale_code`). Unique per market.\n * @param {string} params.country - The country half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {boolean} params.isDefault - Flag this locale as the market's default. The flag MOVES: every other locale of the market loses it in the same call.\n * @param {string} params.language - The language half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {number} params.position - Sort position among this market's locales, ascending, default 0 — and the tie-break that picks a default when no locale is flagged.\n * @param {string} params.status - 'preparing' or 'active' (400 `invalid_locale_status` otherwise); active when a new locale names none. Add a language as preparing, and switch it to active once its search index is ready.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocale>}\n */\n marketsLocalesUpdate(params: { marketId: string, id: string, code?: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: string }): Promise<Models.MarketLocale>;\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The locale of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @param {string} code - Locale code, language-COUNTRY: ISO 639-1 lower case, a hyphen, ISO 3166-1 upper case — `de-DE` (400 `invalid_locale_code`). Unique per market.\n * @param {string} country - The country half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {boolean} isDefault - Flag this locale as the market's default. The flag MOVES: every other locale of the market loses it in the same call.\n * @param {string} language - The language half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {number} position - Sort position among this market's locales, ascending, default 0 — and the tie-break that picks a default when no locale is flagged.\n * @param {string} status - 'preparing' or 'active' (400 `invalid_locale_status` otherwise); active when a new locale names none. Add a language as preparing, and switch it to active once its search index is ready.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocale>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsLocalesUpdate(marketId: string, id: string, code?: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: string): Promise<Models.MarketLocale>;\n marketsLocalesUpdate(\n paramsOrFirst: { marketId: string, id: string, code?: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: string } | string,\n ...rest: [(string)?, (string)?, (string)?, (boolean)?, (string)?, (number)?, (string)?] \n ): Promise<Models.MarketLocale> {\n let params: { marketId: string, id: string, code?: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string, code?: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string,\n code: rest[1] as string,\n country: rest[2] as string,\n isDefault: rest[3] as boolean,\n language: rest[4] as string,\n position: rest[5] as number,\n status: rest[6] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n const code = params.code;\n const country = params.country;\n const isDefault = params.isDefault;\n const language = params.language;\n const position = params.position;\n const status = params.status;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/locales/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof country !== 'undefined') {\n apiPayload['country'] = country;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof language !== 'undefined') {\n apiPayload['language'] = language;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'put',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Every column is an exact-match filter and they combine with AND (?code=standard); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing. `market_id` is not among them: the owning market comes from the path and overwrites anything the query says. An unknown but well-formed market lists empty rather than 404 — the parent is filtered on, not verified.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - Exact match on `id`. Primary key of this tax class. The class is named by `code` everywhere else, including by other apps.\n * @param {string} params.code - Exact match on `code`. Tax class code, unique per market — the rate bucket a product or a shipping method is assigned to ('standard', 'reduced', 'zero'). Other apps name a class by THIS and by nothing else: there is no foreign key behind it and there cannot be (ADR-0055), which is why the delete route asks the shipping app what still points at the code before removing it.\n * @param {string} params.name - Exact match on `name`. Display name of the rate bucket, in the operator's own language.\n * @param {string} params.labels - Exact match on `labels`. Exact whole-document equality on the jsonb: the value is a whole JSON document and has to match every key, so this is not a path or a containment query. Key order and whitespace are irrelevant — the comparison is semantic. A value that does not parse as JSON is refused with 400 `invalid_value` rather than answered with zero rows. Localized display names for storefronts and invoices, keyed by locale: a flat {locale: label} map, one level deep, string values. The key to write is the `locale_policy.write` from GET /markets/{id}/context, exactly as for a market's labels. Null means nothing is translated and `name` is all there is.\n * @param {number} params.rate - Exact match on `rate`. Tax rate in PERCENT, 0–100 (default 0) — 20 means 20 %, not 0.2. Whether a stored price already contains it is a separate question, answered per market by `pricing.tax_basis` on the context.\n * @param {boolean} params.isDefault - Exact match on `is_default`. The class applied to a line that names none. At most one per market — a write flagging one takes it from the others. A market that stores GROSS prices and marks no default cannot break those prices back down into net, which is why readiness turns that combination from a warning into a blocking failure.\n * @param {boolean} params.active - Exact match on `active`. Whether this class is offered for new records (default true). An inactive class stays valid wherever it is already named — it keeps its rate, the context still lists it, and a product or shipping method pointing at it keeps resolving — but a picker for a new record lists `?active=true` and leaves it out. The default class is always active.\n * @param {number} params.position - Exact match on `position`. Sort position among this market's tax classes, ascending, default 0 — and the tie-break that picks a class when none is flagged default.\n * @param {string} params.createdAt - Exact match on `created_at`. When the tax class was created on this market. Set by the database; never writable.\n * @param {string} params.updatedAt - Exact match on `updated_at`. When the tax class was last written. Set by the database on every update; never writable.\n * @param {number} params.limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} params.offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} params.order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, market_id, code, name, labels, rate, is_default, active, position, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClassList>}\n */\n marketsTaxClassesList(params: { marketId: string, id?: string, code?: string, name?: string, labels?: string, rate?: number, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string }): Promise<Models.MarketTaxClassList>;\n /**\n * Every column is an exact-match filter and they combine with AND (?code=standard); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing. `market_id` is not among them: the owning market comes from the path and overwrites anything the query says. An unknown but well-formed market lists empty rather than 404 — the parent is filtered on, not verified.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - Exact match on `id`. Primary key of this tax class. The class is named by `code` everywhere else, including by other apps.\n * @param {string} code - Exact match on `code`. Tax class code, unique per market — the rate bucket a product or a shipping method is assigned to ('standard', 'reduced', 'zero'). Other apps name a class by THIS and by nothing else: there is no foreign key behind it and there cannot be (ADR-0055), which is why the delete route asks the shipping app what still points at the code before removing it.\n * @param {string} name - Exact match on `name`. Display name of the rate bucket, in the operator's own language.\n * @param {string} labels - Exact match on `labels`. Exact whole-document equality on the jsonb: the value is a whole JSON document and has to match every key, so this is not a path or a containment query. Key order and whitespace are irrelevant — the comparison is semantic. A value that does not parse as JSON is refused with 400 `invalid_value` rather than answered with zero rows. Localized display names for storefronts and invoices, keyed by locale: a flat {locale: label} map, one level deep, string values. The key to write is the `locale_policy.write` from GET /markets/{id}/context, exactly as for a market's labels. Null means nothing is translated and `name` is all there is.\n * @param {number} rate - Exact match on `rate`. Tax rate in PERCENT, 0–100 (default 0) — 20 means 20 %, not 0.2. Whether a stored price already contains it is a separate question, answered per market by `pricing.tax_basis` on the context.\n * @param {boolean} isDefault - Exact match on `is_default`. The class applied to a line that names none. At most one per market — a write flagging one takes it from the others. A market that stores GROSS prices and marks no default cannot break those prices back down into net, which is why readiness turns that combination from a warning into a blocking failure.\n * @param {boolean} active - Exact match on `active`. Whether this class is offered for new records (default true). An inactive class stays valid wherever it is already named — it keeps its rate, the context still lists it, and a product or shipping method pointing at it keeps resolving — but a picker for a new record lists `?active=true` and leaves it out. The default class is always active.\n * @param {number} position - Exact match on `position`. Sort position among this market's tax classes, ascending, default 0 — and the tie-break that picks a class when none is flagged default.\n * @param {string} createdAt - Exact match on `created_at`. When the tax class was created on this market. Set by the database; never writable.\n * @param {string} updatedAt - Exact match on `updated_at`. When the tax class was last written. Set by the database on every update; never writable.\n * @param {number} limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, market_id, code, name, labels, rate, is_default, active, position, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClassList>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsTaxClassesList(marketId: string, id?: string, code?: string, name?: string, labels?: string, rate?: number, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string): Promise<Models.MarketTaxClassList>;\n marketsTaxClassesList(\n paramsOrFirst: { marketId: string, id?: string, code?: string, name?: string, labels?: string, rate?: number, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string } | string,\n ...rest: [(string)?, (string)?, (string)?, (string)?, (number)?, (boolean)?, (boolean)?, (number)?, (string)?, (string)?, (number)?, (number)?, (string)?] \n ): Promise<Models.MarketTaxClassList> {\n let params: { marketId: string, id?: string, code?: string, name?: string, labels?: string, rate?: number, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id?: string, code?: string, name?: string, labels?: string, rate?: number, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string,\n code: rest[1] as string,\n name: rest[2] as string,\n labels: rest[3] as string,\n rate: rest[4] as number,\n isDefault: rest[5] as boolean,\n active: rest[6] as boolean,\n position: rest[7] as number,\n createdAt: rest[8] as string,\n updatedAt: rest[9] as string,\n limit: rest[10] as number,\n offset: rest[11] as number,\n order: rest[12] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n const code = params.code;\n const name = params.name;\n const labels = params.labels;\n const rate = params.rate;\n const isDefault = params.isDefault;\n const active = params.active;\n const position = params.position;\n const createdAt = params.createdAt;\n const updatedAt = params.updatedAt;\n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/tax_classes'.replace('{market_id}', marketId);\n const apiPayload: Payload = {};\n if (typeof id !== 'undefined') {\n apiPayload['id'] = id;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof labels !== 'undefined') {\n apiPayload['labels'] = labels;\n }\n if (typeof rate !== 'undefined') {\n apiPayload['rate'] = rate;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof createdAt !== 'undefined') {\n apiPayload['created_at'] = createdAt;\n }\n if (typeof updatedAt !== 'undefined') {\n apiPayload['updated_at'] = updatedAt;\n }\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * The owning market comes from the path and overrides anything in the body.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.code - Tax class code, unique per market — the rate bucket a product or a shipping method is assigned to ('standard', 'reduced', 'zero'). Other apps name a class by THIS and by nothing else: there is no foreign key behind it and there cannot be (ADR-0055), which is why the delete route asks the shipping app what still points at the code before removing it.\n * @param {string} params.name - Display name of the rate bucket, in the operator's own language.\n * @param {boolean} params.active - False takes the class out of the choices for new records; records that already name it keep it. The default class cannot be deactivated (409 `default_must_stay_active`) — make another class the default first.\n * @param {boolean} params.isDefault - Flag this class as the market's default. The flag MOVES: every other tax class of the market loses it in the same call. An inactive class cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {object} params.labels - Localized display names for storefronts and invoices, keyed by locale: a flat {locale: label} map, one level deep, string values. The key to write is the `locale_policy.write` from GET /markets/{id}/context, exactly as for a market's labels. Null means nothing is translated and `name` is all there is.\n * @param {number} params.position - Sort position among this market's tax classes, ascending, default 0 — and the tie-break that picks a class when none is flagged default.\n * @param {number} params.rate - Tax rate in PERCENT, 0–100 (default 0) — 20 means 20 %, not 0.2. Whether a stored price already contains it is a separate question, answered per market by `pricing.tax_basis` on the context.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClass>}\n */\n marketsTaxClassesCreate(params: { marketId: string, code: string, name: string, active?: boolean, isDefault?: boolean, labels?: object, position?: number, rate?: number }): Promise<Models.MarketTaxClass>;\n /**\n * The owning market comes from the path and overrides anything in the body.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} code - Tax class code, unique per market — the rate bucket a product or a shipping method is assigned to ('standard', 'reduced', 'zero'). Other apps name a class by THIS and by nothing else: there is no foreign key behind it and there cannot be (ADR-0055), which is why the delete route asks the shipping app what still points at the code before removing it.\n * @param {string} name - Display name of the rate bucket, in the operator's own language.\n * @param {boolean} active - False takes the class out of the choices for new records; records that already name it keep it. The default class cannot be deactivated (409 `default_must_stay_active`) — make another class the default first.\n * @param {boolean} isDefault - Flag this class as the market's default. The flag MOVES: every other tax class of the market loses it in the same call. An inactive class cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {object} labels - Localized display names for storefronts and invoices, keyed by locale: a flat {locale: label} map, one level deep, string values. The key to write is the `locale_policy.write` from GET /markets/{id}/context, exactly as for a market's labels. Null means nothing is translated and `name` is all there is.\n * @param {number} position - Sort position among this market's tax classes, ascending, default 0 — and the tie-break that picks a class when none is flagged default.\n * @param {number} rate - Tax rate in PERCENT, 0–100 (default 0) — 20 means 20 %, not 0.2. Whether a stored price already contains it is a separate question, answered per market by `pricing.tax_basis` on the context.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClass>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsTaxClassesCreate(marketId: string, code: string, name: string, active?: boolean, isDefault?: boolean, labels?: object, position?: number, rate?: number): Promise<Models.MarketTaxClass>;\n marketsTaxClassesCreate(\n paramsOrFirst: { marketId: string, code: string, name: string, active?: boolean, isDefault?: boolean, labels?: object, position?: number, rate?: number } | string,\n ...rest: [(string)?, (string)?, (boolean)?, (boolean)?, (object)?, (number)?, (number)?] \n ): Promise<Models.MarketTaxClass> {\n let params: { marketId: string, code: string, name: string, active?: boolean, isDefault?: boolean, labels?: object, position?: number, rate?: number };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, code: string, name: string, active?: boolean, isDefault?: boolean, labels?: object, position?: number, rate?: number };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n code: rest[0] as string,\n name: rest[1] as string,\n active: rest[2] as boolean,\n isDefault: rest[3] as boolean,\n labels: rest[4] as object,\n position: rest[5] as number,\n rate: rest[6] as number \n };\n }\n \n const marketId = params.marketId;\n const code = params.code;\n const name = params.name;\n const active = params.active;\n const isDefault = params.isDefault;\n const labels = params.labels;\n const position = params.position;\n const rate = params.rate;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof code === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"code\"');\n }\n if (typeof name === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"name\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/tax_classes'.replace('{market_id}', marketId);\n const apiPayload: Payload = {};\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof labels !== 'undefined') {\n apiPayload['labels'] = labels;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof rate !== 'undefined') {\n apiPayload['rate'] = rate;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Refused with a 409 for as long as another app still points at this tax class by its code. A tax class is the source of record for a rate, and other apps name it by CODE with no foreign key behind it — a cross-app FK is what ADR-0055 forbids. So this asks the shipping app what still uses the code (shipping.tax-classes.usage) and answers 409 with the count and the first few names rather than leaving methods quoting a rate nobody defines. The check FAILS OPEN: a tenant without the shipping app, or an unreachable one, deletes as before, and the answer says which happened in 'usage_checked'. Matched on the code, which is shared across markets — the refusal message says so.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The tax class of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClassDeleted>}\n */\n marketsTaxClassesDelete(params: { marketId: string, id: string }): Promise<Models.MarketTaxClassDeleted>;\n /**\n * Refused with a 409 for as long as another app still points at this tax class by its code. A tax class is the source of record for a rate, and other apps name it by CODE with no foreign key behind it — a cross-app FK is what ADR-0055 forbids. So this asks the shipping app what still uses the code (shipping.tax-classes.usage) and answers 409 with the count and the first few names rather than leaving methods quoting a rate nobody defines. The check FAILS OPEN: a tenant without the shipping app, or an unreachable one, deletes as before, and the answer says which happened in 'usage_checked'. Matched on the code, which is shared across markets — the refusal message says so.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The tax class of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClassDeleted>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsTaxClassesDelete(marketId: string, id: string): Promise<Models.MarketTaxClassDeleted>;\n marketsTaxClassesDelete(\n paramsOrFirst: { marketId: string, id: string } | string,\n ...rest: [(string)?] \n ): Promise<Models.MarketTaxClassDeleted> {\n let params: { marketId: string, id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/tax_classes/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'delete',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Scoped strictly to the market in the path: a row belonging to another market is a 404 here, never a 200.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The tax class of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClass>}\n */\n marketsTaxClassesGet(params: { marketId: string, id: string }): Promise<Models.MarketTaxClass>;\n /**\n * Scoped strictly to the market in the path: a row belonging to another market is a 404 here, never a 200.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The tax class of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClass>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsTaxClassesGet(marketId: string, id: string): Promise<Models.MarketTaxClass>;\n marketsTaxClassesGet(\n paramsOrFirst: { marketId: string, id: string } | string,\n ...rest: [(string)?] \n ): Promise<Models.MarketTaxClass> {\n let params: { marketId: string, id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/tax_classes/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The tax class of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @param {boolean} params.active - False takes the class out of the choices for new records; records that already name it keep it. The default class cannot be deactivated (409 `default_must_stay_active`) — make another class the default first.\n * @param {string} params.code - Tax class code, unique per market — the rate bucket a product or a shipping method is assigned to ('standard', 'reduced', 'zero'). Other apps name a class by THIS and by nothing else: there is no foreign key behind it and there cannot be (ADR-0055), which is why the delete route asks the shipping app what still points at the code before removing it.\n * @param {boolean} params.isDefault - Flag this class as the market's default. The flag MOVES: every other tax class of the market loses it in the same call. An inactive class cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {object} params.labels - Localized display names for storefronts and invoices, keyed by locale: a flat {locale: label} map, one level deep, string values. The key to write is the `locale_policy.write` from GET /markets/{id}/context, exactly as for a market's labels. Null means nothing is translated and `name` is all there is.\n * @param {string} params.name - Display name of the rate bucket, in the operator's own language.\n * @param {number} params.position - Sort position among this market's tax classes, ascending, default 0 — and the tie-break that picks a class when none is flagged default.\n * @param {number} params.rate - Tax rate in PERCENT, 0–100 (default 0) — 20 means 20 %, not 0.2. Whether a stored price already contains it is a separate question, answered per market by `pricing.tax_basis` on the context.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClass>}\n */\n marketsTaxClassesUpdate(params: { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, rate?: number }): Promise<Models.MarketTaxClass>;\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The tax class of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @param {boolean} active - False takes the class out of the choices for new records; records that already name it keep it. The default class cannot be deactivated (409 `default_must_stay_active`) — make another class the default first.\n * @param {string} code - Tax class code, unique per market — the rate bucket a product or a shipping method is assigned to ('standard', 'reduced', 'zero'). Other apps name a class by THIS and by nothing else: there is no foreign key behind it and there cannot be (ADR-0055), which is why the delete route asks the shipping app what still points at the code before removing it.\n * @param {boolean} isDefault - Flag this class as the market's default. The flag MOVES: every other tax class of the market loses it in the same call. An inactive class cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {object} labels - Localized display names for storefronts and invoices, keyed by locale: a flat {locale: label} map, one level deep, string values. The key to write is the `locale_policy.write` from GET /markets/{id}/context, exactly as for a market's labels. Null means nothing is translated and `name` is all there is.\n * @param {string} name - Display name of the rate bucket, in the operator's own language.\n * @param {number} position - Sort position among this market's tax classes, ascending, default 0 — and the tie-break that picks a class when none is flagged default.\n * @param {number} rate - Tax rate in PERCENT, 0–100 (default 0) — 20 means 20 %, not 0.2. Whether a stored price already contains it is a separate question, answered per market by `pricing.tax_basis` on the context.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClass>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsTaxClassesUpdate(marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, rate?: number): Promise<Models.MarketTaxClass>;\n marketsTaxClassesUpdate(\n paramsOrFirst: { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, rate?: number } | string,\n ...rest: [(string)?, (boolean)?, (string)?, (boolean)?, (object)?, (string)?, (number)?, (number)?] \n ): Promise<Models.MarketTaxClass> {\n let params: { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, rate?: number };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, rate?: number };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string,\n active: rest[1] as boolean,\n code: rest[2] as string,\n isDefault: rest[3] as boolean,\n labels: rest[4] as object,\n name: rest[5] as string,\n position: rest[6] as number,\n rate: rest[7] as number \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n const active = params.active;\n const code = params.code;\n const isDefault = params.isDefault;\n const labels = params.labels;\n const name = params.name;\n const position = params.position;\n const rate = params.rate;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/tax_classes/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof labels !== 'undefined') {\n apiPayload['labels'] = labels;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof rate !== 'undefined') {\n apiPayload['rate'] = rate;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'put',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/services/markets.ts"],"names":[],"mappings":"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","sourcesContent":["import { RevenexxException, Client, type Payload, UploadProgress } from '../client';\nimport type { Models } from '../models';\n\nimport { MarketsListStatus } from '../enums/markets-list-status';\nimport { MarketStatus } from '../enums/market-status';\nimport { MarketsVocabularyName } from '../enums/markets-vocabulary-name';\nimport { MarketsLocalesCreateStatus } from '../enums/markets-locales-create-status';\n\nexport class Markets {\n client: Client;\n\n constructor(client: Client) {\n this.client = client;\n }\n\n /**\n * Every column is an exact-match filter and they combine with AND (?code=northwind); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing.\n *\n * @param {string} params.id - Exact match on `id`. Primary key. Note that OTHER apps do not store this: the market scope dimension is keyed on `code` (manifest `provides_scopes.slug_source = markets.code`), so a row elsewhere that is \"in this market\" carries the code, not this uuid. It is the item routes and /context that want this value.\n * @param {string} params.code - Exact match on `code`. Market code, unique per tenant, and the single most load-bearing string in this app: it IS the market scope slug. The Entity Scoping Engine publishes it as the `market` dimension (`scope_context.market` in the JWT), and every other commerce app — products, prices, orders, customers — stores THIS value to say which market a row belongs to. Renaming it would re-key that scope for everyone, so it is fixed once the market exists (an update that changes it is a 409). Accepted in place of the uuid on /readiness, /clone, /backfill and /make-default — but not on the item routes or /context, which take a uuid only.\n * @param {string} params.name - Exact match on `name`. Display name, in the operator's own language. Cockpit copy only — nothing resolves a market by it.\n * @param {string} params.labels - Exact match on `labels`. Exact whole-document equality on the jsonb: the value is a whole JSON document and has to match every key, so this is not a path or a containment query. Key order and whitespace are irrelevant — the comparison is semantic. A value that does not parse as JSON is refused with 400 `invalid_value` rather than answered with zero rows. Localized display names for storefronts, keyed by locale: a flat {locale: label} map, one level deep, string values. WHICH key to write is not free — GET /markets/{id}/context returns `locale_policy`, whose `write` is the key this tenant keys by (a full locale under regional granularity, a bare language under language granularity) and whose `read` is the order to try. Null means nothing is translated and `name` is all there is.\n * @param {string} params.currency - Exact match on `currency`. Base currency this market quotes in — ISO 4217, and schema.json's own default is 'EUR'. This is the single currency prices are STATED in; the currencies collection under the market is the wider set it accepts. A base currency missing from that collection is a blocking readiness failure.\n * @param {string} params.shipFromCountry - Exact match on `ship_from_country`. The country this market ships from — upper-case ISO 3166-1 alpha-2 (RAD-246). Documents print an address for this country when they carry no sender address of their own, so it is what decides whether an address counts as abroad. The platform passes it to every app next to the market code. Required on every market written since 3.1.0: a create without it takes it from a code that is a country code (`de` → DE) and is refused otherwise; a market stored before then may answer null until the backfill has run.\n * @param {boolean} params.shipFromCountryReview - Exact match on `ship_from_country_review`. True when the backfill could not take `ship_from_country` from the code and filled in the tenant's first market country as a guess. Readiness reports it as a warning until a write names the country, which clears it. Never written by a caller.\n * @param {MarketsListStatus} params.status - Exact match on `status`. Default 'active'. Only an active market serves a storefront; 'inactive' keeps the market and all its configuration but takes it out of service. Readiness reports an active market that cannot trade as `serving: true, ready: false` — live and broken.\n * @param {boolean} params.isDefault - Exact match on `is_default`. The tenant default market — what a call naming no market falls back to. Exactly one market holds it, and it is moved only with POST /markets/{id}/make-default: a create may set it only while the tenant has none, and an update cannot change it.\n * @param {number} params.position - Exact match on `position`. Sort position among the tenant's markets, ascending, default 0. Presentation only — it decides the order the Cockpit and a market picker list them in, and nothing resolves a market by it.\n * @param {string} params.createdAt - Exact match on `created_at`. When the market row was inserted. Set by the database; never writable.\n * @param {string} params.updatedAt - Exact match on `updated_at`. When the market row was last written. Set by the database on every update; never writable.\n * @param {number} params.limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} params.offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} params.order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, code, name, labels, currency, ship_from_country, ship_from_country_review, status, is_default, position, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketList>}\n */\n marketsList(params?: { id?: string, code?: string, name?: string, labels?: string, currency?: string, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketsListStatus, isDefault?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string }): Promise<Models.MarketList>;\n /**\n * Every column is an exact-match filter and they combine with AND (?code=northwind); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing.\n *\n * @param {string} id - Exact match on `id`. Primary key. Note that OTHER apps do not store this: the market scope dimension is keyed on `code` (manifest `provides_scopes.slug_source = markets.code`), so a row elsewhere that is \"in this market\" carries the code, not this uuid. It is the item routes and /context that want this value.\n * @param {string} code - Exact match on `code`. Market code, unique per tenant, and the single most load-bearing string in this app: it IS the market scope slug. The Entity Scoping Engine publishes it as the `market` dimension (`scope_context.market` in the JWT), and every other commerce app — products, prices, orders, customers — stores THIS value to say which market a row belongs to. Renaming it would re-key that scope for everyone, so it is fixed once the market exists (an update that changes it is a 409). Accepted in place of the uuid on /readiness, /clone, /backfill and /make-default — but not on the item routes or /context, which take a uuid only.\n * @param {string} name - Exact match on `name`. Display name, in the operator's own language. Cockpit copy only — nothing resolves a market by it.\n * @param {string} labels - Exact match on `labels`. Exact whole-document equality on the jsonb: the value is a whole JSON document and has to match every key, so this is not a path or a containment query. Key order and whitespace are irrelevant — the comparison is semantic. A value that does not parse as JSON is refused with 400 `invalid_value` rather than answered with zero rows. Localized display names for storefronts, keyed by locale: a flat {locale: label} map, one level deep, string values. WHICH key to write is not free — GET /markets/{id}/context returns `locale_policy`, whose `write` is the key this tenant keys by (a full locale under regional granularity, a bare language under language granularity) and whose `read` is the order to try. Null means nothing is translated and `name` is all there is.\n * @param {string} currency - Exact match on `currency`. Base currency this market quotes in — ISO 4217, and schema.json's own default is 'EUR'. This is the single currency prices are STATED in; the currencies collection under the market is the wider set it accepts. A base currency missing from that collection is a blocking readiness failure.\n * @param {string} shipFromCountry - Exact match on `ship_from_country`. The country this market ships from — upper-case ISO 3166-1 alpha-2 (RAD-246). Documents print an address for this country when they carry no sender address of their own, so it is what decides whether an address counts as abroad. The platform passes it to every app next to the market code. Required on every market written since 3.1.0: a create without it takes it from a code that is a country code (`de` → DE) and is refused otherwise; a market stored before then may answer null until the backfill has run.\n * @param {boolean} shipFromCountryReview - Exact match on `ship_from_country_review`. True when the backfill could not take `ship_from_country` from the code and filled in the tenant's first market country as a guess. Readiness reports it as a warning until a write names the country, which clears it. Never written by a caller.\n * @param {MarketsListStatus} status - Exact match on `status`. Default 'active'. Only an active market serves a storefront; 'inactive' keeps the market and all its configuration but takes it out of service. Readiness reports an active market that cannot trade as `serving: true, ready: false` — live and broken.\n * @param {boolean} isDefault - Exact match on `is_default`. The tenant default market — what a call naming no market falls back to. Exactly one market holds it, and it is moved only with POST /markets/{id}/make-default: a create may set it only while the tenant has none, and an update cannot change it.\n * @param {number} position - Exact match on `position`. Sort position among the tenant's markets, ascending, default 0. Presentation only — it decides the order the Cockpit and a market picker list them in, and nothing resolves a market by it.\n * @param {string} createdAt - Exact match on `created_at`. When the market row was inserted. Set by the database; never writable.\n * @param {string} updatedAt - Exact match on `updated_at`. When the market row was last written. Set by the database on every update; never writable.\n * @param {number} limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, code, name, labels, currency, ship_from_country, ship_from_country_review, status, is_default, position, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketList>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsList(id?: string, code?: string, name?: string, labels?: string, currency?: string, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketsListStatus, isDefault?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string): Promise<Models.MarketList>;\n marketsList(\n paramsOrFirst?: { id?: string, code?: string, name?: string, labels?: string, currency?: string, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketsListStatus, isDefault?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string } | string,\n ...rest: [(string)?, (string)?, (string)?, (string)?, (string)?, (boolean)?, (MarketsListStatus)?, (boolean)?, (number)?, (string)?, (string)?, (number)?, (number)?, (string)?] \n ): Promise<Models.MarketList> {\n let params: { id?: string, code?: string, name?: string, labels?: string, currency?: string, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketsListStatus, isDefault?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n \n if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id?: string, code?: string, name?: string, labels?: string, currency?: string, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketsListStatus, isDefault?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n } else {\n params = {\n id: paramsOrFirst as string,\n code: rest[0] as string,\n name: rest[1] as string,\n labels: rest[2] as string,\n currency: rest[3] as string,\n shipFromCountry: rest[4] as string,\n shipFromCountryReview: rest[5] as boolean,\n status: rest[6] as MarketsListStatus,\n isDefault: rest[7] as boolean,\n position: rest[8] as number,\n createdAt: rest[9] as string,\n updatedAt: rest[10] as string,\n limit: rest[11] as number,\n offset: rest[12] as number,\n order: rest[13] as string \n };\n }\n \n const id = params.id;\n const code = params.code;\n const name = params.name;\n const labels = params.labels;\n const currency = params.currency;\n const shipFromCountry = params.shipFromCountry;\n const shipFromCountryReview = params.shipFromCountryReview;\n const status = params.status;\n const isDefault = params.isDefault;\n const position = params.position;\n const createdAt = params.createdAt;\n const updatedAt = params.updatedAt;\n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n\n const apiPath = '/v1/markets';\n const apiPayload: Payload = {};\n if (typeof id !== 'undefined') {\n apiPayload['id'] = id;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof labels !== 'undefined') {\n apiPayload['labels'] = labels;\n }\n if (typeof currency !== 'undefined') {\n apiPayload['currency'] = currency;\n }\n if (typeof shipFromCountry !== 'undefined') {\n apiPayload['ship_from_country'] = shipFromCountry;\n }\n if (typeof shipFromCountryReview !== 'undefined') {\n apiPayload['ship_from_country_review'] = shipFromCountryReview;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof createdAt !== 'undefined') {\n apiPayload['created_at'] = createdAt;\n }\n if (typeof updatedAt !== 'undefined') {\n apiPayload['updated_at'] = updatedAt;\n }\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * A market needs a 'code' and a 'name' — currency defaults to EUR. A tenant's first market starts active and becomes the default market when the body names neither (a first market created inactive stays unflagged); every later market starts inactive unless the body names a status, because it still needs its locales, currencies and tax classes before it sells. To get a market that can actually trade, clone an existing one instead: POST /markets/{id}/clone.\n *\n * @param {string} params.code - Market code — the market scope slug every other app stores. Lowercase letters, digits and underscores, starting with a letter, at most 63 characters (400 `invalid_market_code`). Fixed once the market exists: an update that changes it is refused with 409 `code_immutable`; the same value sent back is accepted and ignored.\n * @param {string} params.name - Display name, in the operator's own language. Cockpit copy only — nothing resolves a market by it.\n * @param {string} params.currency - Base currency, upper-case ISO 4217 (400 `invalid_currency` otherwise — it is not uppercased for you). Defaults to EUR.\n * @param {boolean} params.isDefault - The tenant default flag. On a create, `true` is accepted only while the tenant has no default market (409 `default_exists` otherwise). On an update it cannot change — move it with POST /markets/{id}/make-default (400 `default_via_make_default`); the current value sent back is accepted and ignored.\n * @param {object} params.labels - Localized display names for storefronts, keyed by locale: a flat {locale: label} map, one level deep, string values. WHICH key to write is not free — GET /markets/{id}/context returns `locale_policy`, whose `write` is the key this tenant keys by (a full locale under regional granularity, a bare language under language granularity) and whose `read` is the order to try. Null means nothing is translated and `name` is all there is.\n * @param {number} params.position - Sort position among the tenant's markets, ascending, default 0. Presentation only — it decides the order the Cockpit and a market picker list them in, and nothing resolves a market by it.\n * @param {string} params.shipFromCountry - Upper-case ISO 3166-1 alpha-2 country this market ships from, checked against the assigned codes (400 `invalid_country` otherwise — it is not uppercased for you). On a create it may be omitted only when the code is a country code, and is then taken from it (`de` → DE); otherwise 400 `ship_from_country_required`. On an update it cannot be cleared. Naming it confirms it and clears `ship_from_country_review`.\n * @param {boolean} params.shipFromCountryReview - Set by the backfill only. A body may send back `false` or the stored value; anything else is refused with 400 `server_owned_field`.\n * @param {MarketStatus} params.status - Default 'active'. Only an active market serves a storefront; 'inactive' keeps the market and all its configuration but takes it out of service. Readiness reports an active market that cannot trade as `serving: true, ready: false` — live and broken.\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n */\n marketsCreate(params: { code: string, name: string, currency?: string, isDefault?: boolean, labels?: object, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus }): Promise<Models.Market>;\n /**\n * A market needs a 'code' and a 'name' — currency defaults to EUR. A tenant's first market starts active and becomes the default market when the body names neither (a first market created inactive stays unflagged); every later market starts inactive unless the body names a status, because it still needs its locales, currencies and tax classes before it sells. To get a market that can actually trade, clone an existing one instead: POST /markets/{id}/clone.\n *\n * @param {string} code - Market code — the market scope slug every other app stores. Lowercase letters, digits and underscores, starting with a letter, at most 63 characters (400 `invalid_market_code`). Fixed once the market exists: an update that changes it is refused with 409 `code_immutable`; the same value sent back is accepted and ignored.\n * @param {string} name - Display name, in the operator's own language. Cockpit copy only — nothing resolves a market by it.\n * @param {string} currency - Base currency, upper-case ISO 4217 (400 `invalid_currency` otherwise — it is not uppercased for you). Defaults to EUR.\n * @param {boolean} isDefault - The tenant default flag. On a create, `true` is accepted only while the tenant has no default market (409 `default_exists` otherwise). On an update it cannot change — move it with POST /markets/{id}/make-default (400 `default_via_make_default`); the current value sent back is accepted and ignored.\n * @param {object} labels - Localized display names for storefronts, keyed by locale: a flat {locale: label} map, one level deep, string values. WHICH key to write is not free — GET /markets/{id}/context returns `locale_policy`, whose `write` is the key this tenant keys by (a full locale under regional granularity, a bare language under language granularity) and whose `read` is the order to try. Null means nothing is translated and `name` is all there is.\n * @param {number} position - Sort position among the tenant's markets, ascending, default 0. Presentation only — it decides the order the Cockpit and a market picker list them in, and nothing resolves a market by it.\n * @param {string} shipFromCountry - Upper-case ISO 3166-1 alpha-2 country this market ships from, checked against the assigned codes (400 `invalid_country` otherwise — it is not uppercased for you). On a create it may be omitted only when the code is a country code, and is then taken from it (`de` → DE); otherwise 400 `ship_from_country_required`. On an update it cannot be cleared. Naming it confirms it and clears `ship_from_country_review`.\n * @param {boolean} shipFromCountryReview - Set by the backfill only. A body may send back `false` or the stored value; anything else is refused with 400 `server_owned_field`.\n * @param {MarketStatus} status - Default 'active'. Only an active market serves a storefront; 'inactive' keeps the market and all its configuration but takes it out of service. Readiness reports an active market that cannot trade as `serving: true, ready: false` — live and broken.\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsCreate(code: string, name: string, currency?: string, isDefault?: boolean, labels?: object, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus): Promise<Models.Market>;\n marketsCreate(\n paramsOrFirst: { code: string, name: string, currency?: string, isDefault?: boolean, labels?: object, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus } | string,\n ...rest: [(string)?, (string)?, (boolean)?, (object)?, (number)?, (string)?, (boolean)?, (MarketStatus)?] \n ): Promise<Models.Market> {\n let params: { code: string, name: string, currency?: string, isDefault?: boolean, labels?: object, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { code: string, name: string, currency?: string, isDefault?: boolean, labels?: object, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus };\n } else {\n params = {\n code: paramsOrFirst as string,\n name: rest[0] as string,\n currency: rest[1] as string,\n isDefault: rest[2] as boolean,\n labels: rest[3] as object,\n position: rest[4] as number,\n shipFromCountry: rest[5] as string,\n shipFromCountryReview: rest[6] as boolean,\n status: rest[7] as MarketStatus \n };\n }\n \n const code = params.code;\n const name = params.name;\n const currency = params.currency;\n const isDefault = params.isDefault;\n const labels = params.labels;\n const position = params.position;\n const shipFromCountry = params.shipFromCountry;\n const shipFromCountryReview = params.shipFromCountryReview;\n const status = params.status;\n\n if (typeof code === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"code\"');\n }\n if (typeof name === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"name\"');\n }\n\n const apiPath = '/v1/markets';\n const apiPayload: Payload = {};\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof currency !== 'undefined') {\n apiPayload['currency'] = currency;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof labels !== 'undefined') {\n apiPayload['labels'] = labels;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof shipFromCountry !== 'undefined') {\n apiPayload['ship_from_country'] = shipFromCountry;\n }\n if (typeof shipFromCountryReview !== 'undefined') {\n apiPayload['ship_from_country_review'] = shipFromCountryReview;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * How this tenant keys its translations, resolved for a surface that stands in no market at all. The Cockpit edits a tenant BASELINE when no market is selected, and a baseline value has to be readable by every market — so the locale set answered here is the UNION of every market's locales, each one already resolved to the key it is written under, not one market's list and not a pair of setting names to re-implement. Each entry names the markets that asked for that locale: an editor listing six inputs without saying who needs them invites translations nobody will ever read. Write/read keys follow the same two settings as the per-market answer, so a baseline and a market value can never be keyed differently.\n *\n * @throws {RevenexxException}\n * @returns {Promise<Models.TenantLocalePolicy>}\n */\n marketsLocalePolicy(): Promise<Models.TenantLocalePolicy> {\n\n const apiPath = '/v1/markets/locale-policy';\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Every closed value set this app owns, listed by name with its title and its description but WITHOUT its values — enough to build a menu of them, and a name to fetch one by when a select box actually needs the values. Static per app version; nothing about a tenant changes it. It reads no table and takes no parameter, so 200 is the only answer it has beyond the gateway's own.\n *\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketsVocabularyIndex>}\n */\n marketsVocabularies(): Promise<Models.MarketsVocabularyIndex> {\n\n const apiPath = '/v1/markets/vocabularies';\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * One value set in full: every value the column may hold, in the order it may hold them, with the copy and the badge tone a client renders each one as. The values are not kept in a list beside the database, they are parsed out of the CHECK constraint in this app's own schema.json — so the set served here IS the set enforced on a write, and a select box built from it cannot offer a value the write would then refuse. A name outside the declared enum is a 404 rather than an empty list — an empty vocabulary and an unknown one mean different things to a select box.\n *\n * @param {MarketsVocabularyName} params.name - Which vocabulary to read. The enum is exhaustive — these are every value set this app owns, and anything else is a 404.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketsVocabulary>}\n */\n marketsVocabulary(params: { name: MarketsVocabularyName }): Promise<Models.MarketsVocabulary>;\n /**\n * One value set in full: every value the column may hold, in the order it may hold them, with the copy and the badge tone a client renders each one as. The values are not kept in a list beside the database, they are parsed out of the CHECK constraint in this app's own schema.json — so the set served here IS the set enforced on a write, and a select box built from it cannot offer a value the write would then refuse. A name outside the declared enum is a 404 rather than an empty list — an empty vocabulary and an unknown one mean different things to a select box.\n *\n * @param {MarketsVocabularyName} name - Which vocabulary to read. The enum is exhaustive — these are every value set this app owns, and anything else is a 404.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketsVocabulary>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsVocabulary(name: MarketsVocabularyName): Promise<Models.MarketsVocabulary>;\n marketsVocabulary(\n paramsOrFirst: { name: MarketsVocabularyName } | MarketsVocabularyName \n ): Promise<Models.MarketsVocabulary> {\n let params: { name: MarketsVocabularyName };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('name' in paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { name: MarketsVocabularyName };\n } else {\n params = {\n name: paramsOrFirst as MarketsVocabularyName \n };\n }\n \n const name = params.name;\n\n if (typeof name === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"name\"');\n }\n\n const apiPath = '/v1/markets/vocabularies/{name}'.replace('{name}', name);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Deleting a market takes its locales, currencies and tax classes with it: all three carry an ON DELETE CASCADE onto markets.id, so this is never refused for having children. The tenant's default market is not deleted (409 `default_market`) — move the flag first.\n *\n * @param {string} params.id - The market, by its primary key. A uuid — this route does not resolve a market code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketDeleted>}\n */\n marketsDelete(params: { id: string }): Promise<Models.MarketDeleted>;\n /**\n * Deleting a market takes its locales, currencies and tax classes with it: all three carry an ON DELETE CASCADE onto markets.id, so this is never refused for having children. The tenant's default market is not deleted (409 `default_market`) — move the flag first.\n *\n * @param {string} id - The market, by its primary key. A uuid — this route does not resolve a market code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketDeleted>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsDelete(id: string): Promise<Models.MarketDeleted>;\n marketsDelete(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.MarketDeleted> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'delete',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Resolved by uuid only — unlike /readiness, /clone, /backfill and /make-default, a market CODE here is a 400 rather than a lookup.\n *\n * @param {string} params.id - The market, by its primary key. A uuid — this route does not resolve a market code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n */\n marketsGet(params: { id: string }): Promise<Models.Market>;\n /**\n * Resolved by uuid only — unlike /readiness, /clone, /backfill and /make-default, a market CODE here is a 400 rather than a lookup.\n *\n * @param {string} id - The market, by its primary key. A uuid — this route does not resolve a market code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsGet(id: string): Promise<Models.Market>;\n marketsGet(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.Market> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} params.id - The market, by its primary key. A uuid — this route does not resolve a market code, so a segment that will not cast is a 400 before any row is read.\n * @param {string} params.code - Market code — the market scope slug every other app stores. Lowercase letters, digits and underscores, starting with a letter, at most 63 characters (400 `invalid_market_code`). Fixed once the market exists: an update that changes it is refused with 409 `code_immutable`; the same value sent back is accepted and ignored.\n * @param {string} params.currency - Base currency, upper-case ISO 4217 (400 `invalid_currency` otherwise — it is not uppercased for you). Defaults to EUR.\n * @param {boolean} params.isDefault - The tenant default flag. On a create, `true` is accepted only while the tenant has no default market (409 `default_exists` otherwise). On an update it cannot change — move it with POST /markets/{id}/make-default (400 `default_via_make_default`); the current value sent back is accepted and ignored.\n * @param {object} params.labels - Localized display names for storefronts, keyed by locale: a flat {locale: label} map, one level deep, string values. WHICH key to write is not free — GET /markets/{id}/context returns `locale_policy`, whose `write` is the key this tenant keys by (a full locale under regional granularity, a bare language under language granularity) and whose `read` is the order to try. Null means nothing is translated and `name` is all there is.\n * @param {string} params.name - Display name, in the operator's own language. Cockpit copy only — nothing resolves a market by it.\n * @param {number} params.position - Sort position among the tenant's markets, ascending, default 0. Presentation only — it decides the order the Cockpit and a market picker list them in, and nothing resolves a market by it.\n * @param {string} params.shipFromCountry - Upper-case ISO 3166-1 alpha-2 country this market ships from, checked against the assigned codes (400 `invalid_country` otherwise — it is not uppercased for you). On a create it may be omitted only when the code is a country code, and is then taken from it (`de` → DE); otherwise 400 `ship_from_country_required`. On an update it cannot be cleared. Naming it confirms it and clears `ship_from_country_review`.\n * @param {boolean} params.shipFromCountryReview - Set by the backfill only. A body may send back `false` or the stored value; anything else is refused with 400 `server_owned_field`.\n * @param {MarketStatus} params.status - Default 'active'. Only an active market serves a storefront; 'inactive' keeps the market and all its configuration but takes it out of service. Readiness reports an active market that cannot trade as `serving: true, ready: false` — live and broken.\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n */\n marketsUpdate(params: { id: string, code?: string, currency?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus }): Promise<Models.Market>;\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} id - The market, by its primary key. A uuid — this route does not resolve a market code, so a segment that will not cast is a 400 before any row is read.\n * @param {string} code - Market code — the market scope slug every other app stores. Lowercase letters, digits and underscores, starting with a letter, at most 63 characters (400 `invalid_market_code`). Fixed once the market exists: an update that changes it is refused with 409 `code_immutable`; the same value sent back is accepted and ignored.\n * @param {string} currency - Base currency, upper-case ISO 4217 (400 `invalid_currency` otherwise — it is not uppercased for you). Defaults to EUR.\n * @param {boolean} isDefault - The tenant default flag. On a create, `true` is accepted only while the tenant has no default market (409 `default_exists` otherwise). On an update it cannot change — move it with POST /markets/{id}/make-default (400 `default_via_make_default`); the current value sent back is accepted and ignored.\n * @param {object} labels - Localized display names for storefronts, keyed by locale: a flat {locale: label} map, one level deep, string values. WHICH key to write is not free — GET /markets/{id}/context returns `locale_policy`, whose `write` is the key this tenant keys by (a full locale under regional granularity, a bare language under language granularity) and whose `read` is the order to try. Null means nothing is translated and `name` is all there is.\n * @param {string} name - Display name, in the operator's own language. Cockpit copy only — nothing resolves a market by it.\n * @param {number} position - Sort position among the tenant's markets, ascending, default 0. Presentation only — it decides the order the Cockpit and a market picker list them in, and nothing resolves a market by it.\n * @param {string} shipFromCountry - Upper-case ISO 3166-1 alpha-2 country this market ships from, checked against the assigned codes (400 `invalid_country` otherwise — it is not uppercased for you). On a create it may be omitted only when the code is a country code, and is then taken from it (`de` → DE); otherwise 400 `ship_from_country_required`. On an update it cannot be cleared. Naming it confirms it and clears `ship_from_country_review`.\n * @param {boolean} shipFromCountryReview - Set by the backfill only. A body may send back `false` or the stored value; anything else is refused with 400 `server_owned_field`.\n * @param {MarketStatus} status - Default 'active'. Only an active market serves a storefront; 'inactive' keeps the market and all its configuration but takes it out of service. Readiness reports an active market that cannot trade as `serving: true, ready: false` — live and broken.\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsUpdate(id: string, code?: string, currency?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus): Promise<Models.Market>;\n marketsUpdate(\n paramsOrFirst: { id: string, code?: string, currency?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus } | string,\n ...rest: [(string)?, (string)?, (boolean)?, (object)?, (string)?, (number)?, (string)?, (boolean)?, (MarketStatus)?] \n ): Promise<Models.Market> {\n let params: { id: string, code?: string, currency?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, code?: string, currency?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, shipFromCountry?: string, shipFromCountryReview?: boolean, status?: MarketStatus };\n } else {\n params = {\n id: paramsOrFirst as string,\n code: rest[0] as string,\n currency: rest[1] as string,\n isDefault: rest[2] as boolean,\n labels: rest[3] as object,\n name: rest[4] as string,\n position: rest[5] as number,\n shipFromCountry: rest[6] as string,\n shipFromCountryReview: rest[7] as boolean,\n status: rest[8] as MarketStatus \n };\n }\n \n const id = params.id;\n const code = params.code;\n const currency = params.currency;\n const isDefault = params.isDefault;\n const labels = params.labels;\n const name = params.name;\n const position = params.position;\n const shipFromCountry = params.shipFromCountry;\n const shipFromCountryReview = params.shipFromCountryReview;\n const status = params.status;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof currency !== 'undefined') {\n apiPayload['currency'] = currency;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof labels !== 'undefined') {\n apiPayload['labels'] = labels;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof shipFromCountry !== 'undefined') {\n apiPayload['ship_from_country'] = shipFromCountry;\n }\n if (typeof shipFromCountryReview !== 'undefined') {\n apiPayload['ship_from_country_review'] = shipFromCountryReview;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'put',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Repairs the market in the path out of a source market that is already right. The two are compared by CODE, collection by collection, and only the codes this market does not already carry are added — so a locale, a currency or a tax class it already holds is left exactly as the merchant left it, rate included, and is never overwritten. Both the path id and `source` are resolved by uuid OR by market code. Idempotent: running it twice adds nothing the second time.\n *\n * @param {string} params.id - The market being REPAIRED — a uuid or a market code.\n * @param {string} params.source - The market to copy the missing pieces FROM — a uuid or a market code. Must not be the market in the path. Pick a market that is already right; nothing about it is changed.\n * @param {boolean} params.currencies - Take the source's traded currencies for codes this market does not already carry. Default true.\n * @param {boolean} params.locales - Take the source's locales for codes this market does not already carry. Default true.\n * @param {boolean} params.taxClasses - Take the source's tax classes for codes this market does not already carry. An existing code keeps ITS rate — a backfill never re-rates a class the merchant already set. Default true.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketBackfillResult>}\n */\n marketsBackfill(params: { id: string, source: string, currencies?: boolean, locales?: boolean, taxClasses?: boolean }): Promise<Models.MarketBackfillResult>;\n /**\n * Repairs the market in the path out of a source market that is already right. The two are compared by CODE, collection by collection, and only the codes this market does not already carry are added — so a locale, a currency or a tax class it already holds is left exactly as the merchant left it, rate included, and is never overwritten. Both the path id and `source` are resolved by uuid OR by market code. Idempotent: running it twice adds nothing the second time.\n *\n * @param {string} id - The market being REPAIRED — a uuid or a market code.\n * @param {string} source - The market to copy the missing pieces FROM — a uuid or a market code. Must not be the market in the path. Pick a market that is already right; nothing about it is changed.\n * @param {boolean} currencies - Take the source's traded currencies for codes this market does not already carry. Default true.\n * @param {boolean} locales - Take the source's locales for codes this market does not already carry. Default true.\n * @param {boolean} taxClasses - Take the source's tax classes for codes this market does not already carry. An existing code keeps ITS rate — a backfill never re-rates a class the merchant already set. Default true.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketBackfillResult>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsBackfill(id: string, source: string, currencies?: boolean, locales?: boolean, taxClasses?: boolean): Promise<Models.MarketBackfillResult>;\n marketsBackfill(\n paramsOrFirst: { id: string, source: string, currencies?: boolean, locales?: boolean, taxClasses?: boolean } | string,\n ...rest: [(string)?, (boolean)?, (boolean)?, (boolean)?] \n ): Promise<Models.MarketBackfillResult> {\n let params: { id: string, source: string, currencies?: boolean, locales?: boolean, taxClasses?: boolean };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, source: string, currencies?: boolean, locales?: boolean, taxClasses?: boolean };\n } else {\n params = {\n id: paramsOrFirst as string,\n source: rest[0] as string,\n currencies: rest[1] as boolean,\n locales: rest[2] as boolean,\n taxClasses: rest[3] as boolean \n };\n }\n \n const id = params.id;\n const source = params.source;\n const currencies = params.currencies;\n const locales = params.locales;\n const taxClasses = params.taxClasses;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n if (typeof source === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"source\"');\n }\n\n const apiPath = '/v1/markets/{id}/backfill'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof currencies !== 'undefined') {\n apiPayload['currencies'] = currencies;\n }\n if (typeof locales !== 'undefined') {\n apiPayload['locales'] = locales;\n }\n if (typeof source !== 'undefined') {\n apiPayload['source'] = source;\n }\n if (typeof taxClasses !== 'undefined') {\n apiPayload['tax_classes'] = taxClasses;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Creates a NEW market out of an existing one, taking its locales, its traded currencies and its tax classes with it in a single call. That is the difference between this and POST /markets: a plain create leaves a row that cannot serve anybody, while what comes back here is a market with a language to render in, a currency to price in and a rate to tax with. The path id is the SOURCE market, resolved by uuid OR by market code.\n *\n * @param {string} params.id - The SOURCE market to copy — a uuid or a market code.\n * @param {string} params.code - Code of the NEW market (unique per tenant). Lowercase letters, digits and underscores, starting with a letter, at most 63 characters (400 `invalid_market_code`).\n * @param {boolean} params.copyCurrencies - Copy the source's traded currencies. Default true. The new market's own base currency is registered and marked default either way.\n * @param {boolean} params.copyLocales - Copy the source's locales. Default true. False leaves the new market with no language of its own, so the tenant fallback_locale is seeded instead — it is never left with none.\n * @param {boolean} params.copyTaxClasses - Copy the source's tax classes, rates and all. Default true. False leaves the market unable to tax anything, which readiness reports as blocking.\n * @param {string} params.currency - Base currency of the new market, upper-case ISO 4217 (400 `invalid_currency` — it is not uppercased for you). Defaults to the source market's, and is registered and marked default on the new one either way.\n * @param {string} params.name - Display name of the new market. Defaults to its code.\n * @param {string} params.shipFromCountry - Country the new market ships from, upper-case ISO 3166-1 alpha-2 (400 `invalid_country`). Defaults to the country the new code names when it is a country code, else to the source market's; a clone that ends up with none is refused with 400 `ship_from_country_required`.\n * @param {MarketStatus} params.status - Status of the new market. Defaults to 'inactive', so it is checked and built out before it serves anyone; send 'active' to put it live with the call.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCloneResult>}\n */\n marketsClone(params: { id: string, code: string, copyCurrencies?: boolean, copyLocales?: boolean, copyTaxClasses?: boolean, currency?: string, name?: string, shipFromCountry?: string, status?: MarketStatus }): Promise<Models.MarketCloneResult>;\n /**\n * Creates a NEW market out of an existing one, taking its locales, its traded currencies and its tax classes with it in a single call. That is the difference between this and POST /markets: a plain create leaves a row that cannot serve anybody, while what comes back here is a market with a language to render in, a currency to price in and a rate to tax with. The path id is the SOURCE market, resolved by uuid OR by market code.\n *\n * @param {string} id - The SOURCE market to copy — a uuid or a market code.\n * @param {string} code - Code of the NEW market (unique per tenant). Lowercase letters, digits and underscores, starting with a letter, at most 63 characters (400 `invalid_market_code`).\n * @param {boolean} copyCurrencies - Copy the source's traded currencies. Default true. The new market's own base currency is registered and marked default either way.\n * @param {boolean} copyLocales - Copy the source's locales. Default true. False leaves the new market with no language of its own, so the tenant fallback_locale is seeded instead — it is never left with none.\n * @param {boolean} copyTaxClasses - Copy the source's tax classes, rates and all. Default true. False leaves the market unable to tax anything, which readiness reports as blocking.\n * @param {string} currency - Base currency of the new market, upper-case ISO 4217 (400 `invalid_currency` — it is not uppercased for you). Defaults to the source market's, and is registered and marked default on the new one either way.\n * @param {string} name - Display name of the new market. Defaults to its code.\n * @param {string} shipFromCountry - Country the new market ships from, upper-case ISO 3166-1 alpha-2 (400 `invalid_country`). Defaults to the country the new code names when it is a country code, else to the source market's; a clone that ends up with none is refused with 400 `ship_from_country_required`.\n * @param {MarketStatus} status - Status of the new market. Defaults to 'inactive', so it is checked and built out before it serves anyone; send 'active' to put it live with the call.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCloneResult>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsClone(id: string, code: string, copyCurrencies?: boolean, copyLocales?: boolean, copyTaxClasses?: boolean, currency?: string, name?: string, shipFromCountry?: string, status?: MarketStatus): Promise<Models.MarketCloneResult>;\n marketsClone(\n paramsOrFirst: { id: string, code: string, copyCurrencies?: boolean, copyLocales?: boolean, copyTaxClasses?: boolean, currency?: string, name?: string, shipFromCountry?: string, status?: MarketStatus } | string,\n ...rest: [(string)?, (boolean)?, (boolean)?, (boolean)?, (string)?, (string)?, (string)?, (MarketStatus)?] \n ): Promise<Models.MarketCloneResult> {\n let params: { id: string, code: string, copyCurrencies?: boolean, copyLocales?: boolean, copyTaxClasses?: boolean, currency?: string, name?: string, shipFromCountry?: string, status?: MarketStatus };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, code: string, copyCurrencies?: boolean, copyLocales?: boolean, copyTaxClasses?: boolean, currency?: string, name?: string, shipFromCountry?: string, status?: MarketStatus };\n } else {\n params = {\n id: paramsOrFirst as string,\n code: rest[0] as string,\n copyCurrencies: rest[1] as boolean,\n copyLocales: rest[2] as boolean,\n copyTaxClasses: rest[3] as boolean,\n currency: rest[4] as string,\n name: rest[5] as string,\n shipFromCountry: rest[6] as string,\n status: rest[7] as MarketStatus \n };\n }\n \n const id = params.id;\n const code = params.code;\n const copyCurrencies = params.copyCurrencies;\n const copyLocales = params.copyLocales;\n const copyTaxClasses = params.copyTaxClasses;\n const currency = params.currency;\n const name = params.name;\n const shipFromCountry = params.shipFromCountry;\n const status = params.status;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n if (typeof code === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"code\"');\n }\n\n const apiPath = '/v1/markets/{id}/clone'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof copyCurrencies !== 'undefined') {\n apiPayload['copy_currencies'] = copyCurrencies;\n }\n if (typeof copyLocales !== 'undefined') {\n apiPayload['copy_locales'] = copyLocales;\n }\n if (typeof copyTaxClasses !== 'undefined') {\n apiPayload['copy_tax_classes'] = copyTaxClasses;\n }\n if (typeof currency !== 'undefined') {\n apiPayload['currency'] = currency;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof shipFromCountry !== 'undefined') {\n apiPayload['ship_from_country'] = shipFromCountry;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Clears `ship_from_country_review`, the flag the RAD-246 backfill set on a market whose ship-from country it had to guess. Editing the market clears it only when the country actually changes, because an edit form posts the stored value back and that confirms nothing; this is the call for \"the guessed country is right as it is\". Accepts an id or a market CODE. Answers the market; a market that carries no flag is answered unchanged and nothing is written.\n *\n * @param {string} params.id - The market whose ship-from country is confirmed — a uuid or a market code.\n * @param {object} params.data - Request body\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n */\n marketsConfirmShipFrom(params: { id: string, data: object }): Promise<Models.Market>;\n /**\n * Clears `ship_from_country_review`, the flag the RAD-246 backfill set on a market whose ship-from country it had to guess. Editing the market clears it only when the country actually changes, because an edit form posts the stored value back and that confirms nothing; this is the call for \"the guessed country is right as it is\". Accepts an id or a market CODE. Answers the market; a market that carries no flag is answered unchanged and nothing is written.\n *\n * @param {string} id - The market whose ship-from country is confirmed — a uuid or a market code.\n * @param {object} data - Request body\n * @throws {RevenexxException}\n * @returns {Promise<Models.Market>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsConfirmShipFrom(id: string, data: object): Promise<Models.Market>;\n marketsConfirmShipFrom(\n paramsOrFirst: { id: string, data: object } | string,\n ...rest: [(object)?] \n ): Promise<Models.Market> {\n let params: { id: string, data: object };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, data: object };\n } else {\n params = {\n id: paramsOrFirst as string,\n data: rest[0] as object \n };\n }\n \n const id = params.id;\n const data = params.data;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n if (typeof data === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"data\"');\n }\n\n const apiPath = '/v1/markets/{id}/confirm-ship-from'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof data !== 'undefined') {\n Object.assign(apiPayload, data);\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * The storefront bootstrap: everything a frontend needs to render one market, resolved server-side so no client re-derives it — the market row, its locales, the currencies it trades in and its tax classes; WHICH locale to actually render in and where that answer came from; which key to read and write a translation under; whether the prices it will be handed are gross or net; and whether any of it is trustworthy. One call rather than five, and — more to the point — one place the resolution rules live, instead of a slightly different copy of them in every storefront. This one resolves the market by id only: unlike /readiness, /clone and /backfill, a market CODE here is a 400, not a lookup.\n *\n * @param {string} params.id - The market. A uuid — this route does not accept a market code.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketContext>}\n */\n marketsContext(params: { id: string }): Promise<Models.MarketContext>;\n /**\n * The storefront bootstrap: everything a frontend needs to render one market, resolved server-side so no client re-derives it — the market row, its locales, the currencies it trades in and its tax classes; WHICH locale to actually render in and where that answer came from; which key to read and write a translation under; whether the prices it will be handed are gross or net; and whether any of it is trustworthy. One call rather than five, and — more to the point — one place the resolution rules live, instead of a slightly different copy of them in every storefront. This one resolves the market by id only: unlike /readiness, /clone and /backfill, a market CODE here is a 400, not a lookup.\n *\n * @param {string} id - The market. A uuid — this route does not accept a market code.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketContext>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsContext(id: string): Promise<Models.MarketContext>;\n marketsContext(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.MarketContext> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{id}/context'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * A tenant has ONE default market: it is what every call naming none falls back to. Moving the flag from a client was promote-then-demote, two PATCHes that leave two defaults when the second does not land and none when the first does. This is the one call instead — it promotes the market in the path and demotes whoever held the flag in the same operation, writing once per row that was actually wrong and not touching the rest. Accepts an id or a market CODE. Answers the market plus the codes it demoted; repeating the call writes nothing.\n *\n * @param {string} params.id - The market to promote — a uuid or a market code.\n * @param {object} params.data - Request body\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketMakeDefaultResponse>}\n */\n marketsMakeDefault(params: { id: string, data: object }): Promise<Models.MarketMakeDefaultResponse>;\n /**\n * A tenant has ONE default market: it is what every call naming none falls back to. Moving the flag from a client was promote-then-demote, two PATCHes that leave two defaults when the second does not land and none when the first does. This is the one call instead — it promotes the market in the path and demotes whoever held the flag in the same operation, writing once per row that was actually wrong and not touching the rest. Accepts an id or a market CODE. Answers the market plus the codes it demoted; repeating the call writes nothing.\n *\n * @param {string} id - The market to promote — a uuid or a market code.\n * @param {object} data - Request body\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketMakeDefaultResponse>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsMakeDefault(id: string, data: object): Promise<Models.MarketMakeDefaultResponse>;\n marketsMakeDefault(\n paramsOrFirst: { id: string, data: object } | string,\n ...rest: [(object)?] \n ): Promise<Models.MarketMakeDefaultResponse> {\n let params: { id: string, data: object };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, data: object };\n } else {\n params = {\n id: paramsOrFirst as string,\n data: rest[0] as object \n };\n }\n \n const id = params.id;\n const data = params.data;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n if (typeof data === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"data\"');\n }\n\n const apiPath = '/v1/markets/{id}/make-default'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof data !== 'undefined') {\n Object.assign(apiPayload, data);\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Whether this market can actually trade, and if not, what is missing. Every check runs on every call and comes back with its own severity, so the answer is a diagnosis rather than a yes or a no: a market with no currency registered has nothing to price in and a market with no tax class has nothing to tax with, and both of those fail BLOCKING, which is what turns `ready` false. A check that is merely degraded — no locale of its own, while the tenant declares a fallback_locale that covers for it — fails as a warning and leaves the market serviceable. Resolves the market by uuid OR by market code.\n *\n * @param {string} params.id - The market — a uuid or a market code.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketReadinessReport>}\n */\n marketsReadiness(params: { id: string }): Promise<Models.MarketReadinessReport>;\n /**\n * Whether this market can actually trade, and if not, what is missing. Every check runs on every call and comes back with its own severity, so the answer is a diagnosis rather than a yes or a no: a market with no currency registered has nothing to price in and a market with no tax class has nothing to tax with, and both of those fail BLOCKING, which is what turns `ready` false. A check that is merely degraded — no locale of its own, while the tenant declares a fallback_locale that covers for it — fails as a warning and leaves the market serviceable. Resolves the market by uuid OR by market code.\n *\n * @param {string} id - The market — a uuid or a market code.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketReadinessReport>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsReadiness(id: string): Promise<Models.MarketReadinessReport>;\n marketsReadiness(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.MarketReadinessReport> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{id}/readiness'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Every column is an exact-match filter and they combine with AND (?code=EUR); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing. `market_id` is not among them: the owning market comes from the path and overwrites anything the query says. An unknown but well-formed market lists empty rather than 404 — the parent is filtered on, not verified.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - Exact match on `id`. Primary key of this currency registration. The currency is named by `code` everywhere else.\n * @param {string} params.code - Exact match on `code`. ISO 4217 code, unique per market — one entry in the set of currencies this market TRADES in, as opposed to the single base currency on the market row that its prices are quoted in. The base currency must appear here or the market cannot serve; clone and backfill register it for you.\n * @param {boolean} params.isDefault - Exact match on `is_default`. The currency offered first to a buyer who states no preference. At most one per market — a write flagging one takes it from the others — and it should be the market's base currency — readiness reports it as a warning when it is not.\n * @param {boolean} params.active - Exact match on `active`. Whether this currency is offered for new records (default true) — a picker lists `?active=true`. An inactive currency stays on the market and on every record that already carries it, and is no longer offered as the market's booking currency. The market's default currency and its booking currency are always active.\n * @param {number} params.position - Exact match on `position`. Sort position among this market's currencies, ascending, default 0 — the order a currency switcher lists them in.\n * @param {string} params.createdAt - Exact match on `created_at`. When the currency was registered on this market. Set by the database; never writable.\n * @param {string} params.updatedAt - Exact match on `updated_at`. When the currency registration was last written. Set by the database on every update; never writable. A currency is changed in place — its default flag and its position move — so this is the column that says when that last happened.\n * @param {number} params.limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} params.offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} params.order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, market_id, code, is_default, active, position, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrencyList>}\n */\n marketsCurrenciesList(params: { marketId: string, id?: string, code?: string, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string }): Promise<Models.MarketCurrencyList>;\n /**\n * Every column is an exact-match filter and they combine with AND (?code=EUR); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing. `market_id` is not among them: the owning market comes from the path and overwrites anything the query says. An unknown but well-formed market lists empty rather than 404 — the parent is filtered on, not verified.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - Exact match on `id`. Primary key of this currency registration. The currency is named by `code` everywhere else.\n * @param {string} code - Exact match on `code`. ISO 4217 code, unique per market — one entry in the set of currencies this market TRADES in, as opposed to the single base currency on the market row that its prices are quoted in. The base currency must appear here or the market cannot serve; clone and backfill register it for you.\n * @param {boolean} isDefault - Exact match on `is_default`. The currency offered first to a buyer who states no preference. At most one per market — a write flagging one takes it from the others — and it should be the market's base currency — readiness reports it as a warning when it is not.\n * @param {boolean} active - Exact match on `active`. Whether this currency is offered for new records (default true) — a picker lists `?active=true`. An inactive currency stays on the market and on every record that already carries it, and is no longer offered as the market's booking currency. The market's default currency and its booking currency are always active.\n * @param {number} position - Exact match on `position`. Sort position among this market's currencies, ascending, default 0 — the order a currency switcher lists them in.\n * @param {string} createdAt - Exact match on `created_at`. When the currency was registered on this market. Set by the database; never writable.\n * @param {string} updatedAt - Exact match on `updated_at`. When the currency registration was last written. Set by the database on every update; never writable. A currency is changed in place — its default flag and its position move — so this is the column that says when that last happened.\n * @param {number} limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, market_id, code, is_default, active, position, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrencyList>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsCurrenciesList(marketId: string, id?: string, code?: string, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string): Promise<Models.MarketCurrencyList>;\n marketsCurrenciesList(\n paramsOrFirst: { marketId: string, id?: string, code?: string, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string } | string,\n ...rest: [(string)?, (string)?, (boolean)?, (boolean)?, (number)?, (string)?, (string)?, (number)?, (number)?, (string)?] \n ): Promise<Models.MarketCurrencyList> {\n let params: { marketId: string, id?: string, code?: string, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id?: string, code?: string, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string,\n code: rest[1] as string,\n isDefault: rest[2] as boolean,\n active: rest[3] as boolean,\n position: rest[4] as number,\n createdAt: rest[5] as string,\n updatedAt: rest[6] as string,\n limit: rest[7] as number,\n offset: rest[8] as number,\n order: rest[9] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n const code = params.code;\n const isDefault = params.isDefault;\n const active = params.active;\n const position = params.position;\n const createdAt = params.createdAt;\n const updatedAt = params.updatedAt;\n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/currencies'.replace('{market_id}', marketId);\n const apiPayload: Payload = {};\n if (typeof id !== 'undefined') {\n apiPayload['id'] = id;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof createdAt !== 'undefined') {\n apiPayload['created_at'] = createdAt;\n }\n if (typeof updatedAt !== 'undefined') {\n apiPayload['updated_at'] = updatedAt;\n }\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * The owning market comes from the path and overrides anything in the body.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.code - Upper-case ISO 4217 code (400 `invalid_currency` otherwise — it is not uppercased for you). Unique per market.\n * @param {boolean} params.active - False takes the currency out of the choices for new records; records that already carry it keep it. The default currency cannot be deactivated (409 `default_must_stay_active`), nor the market's booking currency (409 `booking_currency`, naming the market).\n * @param {boolean} params.isDefault - Flag this currency as the market's default. The flag MOVES: every other currency of the market loses it in the same call. An inactive currency cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {number} params.position - Sort position among this market's currencies, ascending, default 0 — the order a currency switcher lists them in.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrency>}\n */\n marketsCurrenciesCreate(params: { marketId: string, code: string, active?: boolean, isDefault?: boolean, position?: number }): Promise<Models.MarketCurrency>;\n /**\n * The owning market comes from the path and overrides anything in the body.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} code - Upper-case ISO 4217 code (400 `invalid_currency` otherwise — it is not uppercased for you). Unique per market.\n * @param {boolean} active - False takes the currency out of the choices for new records; records that already carry it keep it. The default currency cannot be deactivated (409 `default_must_stay_active`), nor the market's booking currency (409 `booking_currency`, naming the market).\n * @param {boolean} isDefault - Flag this currency as the market's default. The flag MOVES: every other currency of the market loses it in the same call. An inactive currency cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {number} position - Sort position among this market's currencies, ascending, default 0 — the order a currency switcher lists them in.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrency>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsCurrenciesCreate(marketId: string, code: string, active?: boolean, isDefault?: boolean, position?: number): Promise<Models.MarketCurrency>;\n marketsCurrenciesCreate(\n paramsOrFirst: { marketId: string, code: string, active?: boolean, isDefault?: boolean, position?: number } | string,\n ...rest: [(string)?, (boolean)?, (boolean)?, (number)?] \n ): Promise<Models.MarketCurrency> {\n let params: { marketId: string, code: string, active?: boolean, isDefault?: boolean, position?: number };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, code: string, active?: boolean, isDefault?: boolean, position?: number };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n code: rest[0] as string,\n active: rest[1] as boolean,\n isDefault: rest[2] as boolean,\n position: rest[3] as number \n };\n }\n \n const marketId = params.marketId;\n const code = params.code;\n const active = params.active;\n const isDefault = params.isDefault;\n const position = params.position;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof code === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"code\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/currencies'.replace('{market_id}', marketId);\n const apiPayload: Payload = {};\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Scoped to the market in the path — a row belonging to another market is a 404 here, and is never deleted.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The currency of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrencyDeleted>}\n */\n marketsCurrenciesDelete(params: { marketId: string, id: string }): Promise<Models.MarketCurrencyDeleted>;\n /**\n * Scoped to the market in the path — a row belonging to another market is a 404 here, and is never deleted.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The currency of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrencyDeleted>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsCurrenciesDelete(marketId: string, id: string): Promise<Models.MarketCurrencyDeleted>;\n marketsCurrenciesDelete(\n paramsOrFirst: { marketId: string, id: string } | string,\n ...rest: [(string)?] \n ): Promise<Models.MarketCurrencyDeleted> {\n let params: { marketId: string, id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/currencies/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'delete',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Scoped strictly to the market in the path: a row belonging to another market is a 404 here, never a 200.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The currency of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrency>}\n */\n marketsCurrenciesGet(params: { marketId: string, id: string }): Promise<Models.MarketCurrency>;\n /**\n * Scoped strictly to the market in the path: a row belonging to another market is a 404 here, never a 200.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The currency of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrency>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsCurrenciesGet(marketId: string, id: string): Promise<Models.MarketCurrency>;\n marketsCurrenciesGet(\n paramsOrFirst: { marketId: string, id: string } | string,\n ...rest: [(string)?] \n ): Promise<Models.MarketCurrency> {\n let params: { marketId: string, id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/currencies/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The currency of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @param {boolean} params.active - False takes the currency out of the choices for new records; records that already carry it keep it. The default currency cannot be deactivated (409 `default_must_stay_active`), nor the market's booking currency (409 `booking_currency`, naming the market).\n * @param {string} params.code - Upper-case ISO 4217 code (400 `invalid_currency` otherwise — it is not uppercased for you). Unique per market.\n * @param {boolean} params.isDefault - Flag this currency as the market's default. The flag MOVES: every other currency of the market loses it in the same call. An inactive currency cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {number} params.position - Sort position among this market's currencies, ascending, default 0 — the order a currency switcher lists them in.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrency>}\n */\n marketsCurrenciesUpdate(params: { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, position?: number }): Promise<Models.MarketCurrency>;\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The currency of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @param {boolean} active - False takes the currency out of the choices for new records; records that already carry it keep it. The default currency cannot be deactivated (409 `default_must_stay_active`), nor the market's booking currency (409 `booking_currency`, naming the market).\n * @param {string} code - Upper-case ISO 4217 code (400 `invalid_currency` otherwise — it is not uppercased for you). Unique per market.\n * @param {boolean} isDefault - Flag this currency as the market's default. The flag MOVES: every other currency of the market loses it in the same call. An inactive currency cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {number} position - Sort position among this market's currencies, ascending, default 0 — the order a currency switcher lists them in.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketCurrency>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsCurrenciesUpdate(marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, position?: number): Promise<Models.MarketCurrency>;\n marketsCurrenciesUpdate(\n paramsOrFirst: { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, position?: number } | string,\n ...rest: [(string)?, (boolean)?, (string)?, (boolean)?, (number)?] \n ): Promise<Models.MarketCurrency> {\n let params: { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, position?: number };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, position?: number };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string,\n active: rest[1] as boolean,\n code: rest[2] as string,\n isDefault: rest[3] as boolean,\n position: rest[4] as number \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n const active = params.active;\n const code = params.code;\n const isDefault = params.isDefault;\n const position = params.position;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/currencies/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'put',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Every column is an exact-match filter and they combine with AND (?code=de-DE); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing. `market_id` is not among them: the owning market comes from the path and overwrites anything the query says. An unknown but well-formed market lists empty rather than 404 — the parent is filtered on, not verified.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - Exact match on `id`. Primary key of this locale registration. The locale is named by `code` everywhere else.\n * @param {string} params.code - Exact match on `code`. Locale code, language-COUNTRY — the language a storefront renders this market in, and the key a translation is stored under. Unique per market. The app's own seeded value is the tenant's `fallback_locale` setting, whose declared default is de-DE.\n * @param {string} params.language - Exact match on `language`. ISO 639-1 language code — the language half of `code`, stored separately so a client can group markets by language without parsing.\n * @param {string} params.country - Exact match on `country`. ISO 3166-1 alpha-2 country code — the region half of `code`. It is a spelling of the language, not a shipping destination: a market may register de-AT without trading in Austria.\n * @param {boolean} params.isDefault - Exact match on `is_default`. The locale a storefront renders this market in when the request asks for none. At most one per market — a write flagging one takes it from the others; where none carries the flag the first by position is used, and `default_locale.source` on the context says which of the two happened.\n * @param {number} params.position - Exact match on `position`. Sort position among this market's locales, ascending, default 0 — and the tie-break that picks a default when no locale is flagged.\n * @param {string} params.status - Exact match on `status`. 'preparing' while the search index for this language is still being built, 'active' once a storefront may offer it. A storefront offers active locales only, and a preparing locale is never the one `default_locale` renders in. Defaults to active.\n * @param {string} params.createdAt - Exact match on `created_at`. When the locale was registered on this market. Set by the database; never writable.\n * @param {string} params.updatedAt - Exact match on `updated_at`. When the locale registration was last written. Set by the database on every update; never writable. A locale is changed in place — its default flag and its position move — so this is the column that says when that last happened.\n * @param {number} params.limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} params.offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} params.order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, market_id, code, language, country, is_default, position, status, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocaleList>}\n */\n marketsLocalesList(params: { marketId: string, id?: string, code?: string, language?: string, country?: string, isDefault?: boolean, position?: number, status?: string, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string }): Promise<Models.MarketLocaleList>;\n /**\n * Every column is an exact-match filter and they combine with AND (?code=de-DE); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing. `market_id` is not among them: the owning market comes from the path and overwrites anything the query says. An unknown but well-formed market lists empty rather than 404 — the parent is filtered on, not verified.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - Exact match on `id`. Primary key of this locale registration. The locale is named by `code` everywhere else.\n * @param {string} code - Exact match on `code`. Locale code, language-COUNTRY — the language a storefront renders this market in, and the key a translation is stored under. Unique per market. The app's own seeded value is the tenant's `fallback_locale` setting, whose declared default is de-DE.\n * @param {string} language - Exact match on `language`. ISO 639-1 language code — the language half of `code`, stored separately so a client can group markets by language without parsing.\n * @param {string} country - Exact match on `country`. ISO 3166-1 alpha-2 country code — the region half of `code`. It is a spelling of the language, not a shipping destination: a market may register de-AT without trading in Austria.\n * @param {boolean} isDefault - Exact match on `is_default`. The locale a storefront renders this market in when the request asks for none. At most one per market — a write flagging one takes it from the others; where none carries the flag the first by position is used, and `default_locale.source` on the context says which of the two happened.\n * @param {number} position - Exact match on `position`. Sort position among this market's locales, ascending, default 0 — and the tie-break that picks a default when no locale is flagged.\n * @param {string} status - Exact match on `status`. 'preparing' while the search index for this language is still being built, 'active' once a storefront may offer it. A storefront offers active locales only, and a preparing locale is never the one `default_locale` renders in. Defaults to active.\n * @param {string} createdAt - Exact match on `created_at`. When the locale was registered on this market. Set by the database; never writable.\n * @param {string} updatedAt - Exact match on `updated_at`. When the locale registration was last written. Set by the database on every update; never writable. A locale is changed in place — its default flag and its position move — so this is the column that says when that last happened.\n * @param {number} limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, market_id, code, language, country, is_default, position, status, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocaleList>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsLocalesList(marketId: string, id?: string, code?: string, language?: string, country?: string, isDefault?: boolean, position?: number, status?: string, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string): Promise<Models.MarketLocaleList>;\n marketsLocalesList(\n paramsOrFirst: { marketId: string, id?: string, code?: string, language?: string, country?: string, isDefault?: boolean, position?: number, status?: string, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string } | string,\n ...rest: [(string)?, (string)?, (string)?, (string)?, (boolean)?, (number)?, (string)?, (string)?, (string)?, (number)?, (number)?, (string)?] \n ): Promise<Models.MarketLocaleList> {\n let params: { marketId: string, id?: string, code?: string, language?: string, country?: string, isDefault?: boolean, position?: number, status?: string, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id?: string, code?: string, language?: string, country?: string, isDefault?: boolean, position?: number, status?: string, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string,\n code: rest[1] as string,\n language: rest[2] as string,\n country: rest[3] as string,\n isDefault: rest[4] as boolean,\n position: rest[5] as number,\n status: rest[6] as string,\n createdAt: rest[7] as string,\n updatedAt: rest[8] as string,\n limit: rest[9] as number,\n offset: rest[10] as number,\n order: rest[11] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n const code = params.code;\n const language = params.language;\n const country = params.country;\n const isDefault = params.isDefault;\n const position = params.position;\n const status = params.status;\n const createdAt = params.createdAt;\n const updatedAt = params.updatedAt;\n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/locales'.replace('{market_id}', marketId);\n const apiPayload: Payload = {};\n if (typeof id !== 'undefined') {\n apiPayload['id'] = id;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof language !== 'undefined') {\n apiPayload['language'] = language;\n }\n if (typeof country !== 'undefined') {\n apiPayload['country'] = country;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n if (typeof createdAt !== 'undefined') {\n apiPayload['created_at'] = createdAt;\n }\n if (typeof updatedAt !== 'undefined') {\n apiPayload['updated_at'] = updatedAt;\n }\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * The owning market comes from the path and overrides anything in the body.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.code - Locale code, language-COUNTRY: ISO 639-1 lower case, a hyphen, ISO 3166-1 upper case — `de-DE` (400 `invalid_locale_code`). Unique per market.\n * @param {string} params.country - The country half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {boolean} params.isDefault - Flag this locale as the market's default. The flag MOVES: every other locale of the market loses it in the same call.\n * @param {string} params.language - The language half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {number} params.position - Sort position among this market's locales, ascending, default 0 — and the tie-break that picks a default when no locale is flagged.\n * @param {MarketsLocalesCreateStatus} params.status - 'preparing' or 'active' (400 `invalid_locale_status` otherwise); active when a new locale names none. Add a language as preparing, and switch it to active once its search index is ready.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocale>}\n */\n marketsLocalesCreate(params: { marketId: string, code: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: MarketsLocalesCreateStatus }): Promise<Models.MarketLocale>;\n /**\n * The owning market comes from the path and overrides anything in the body.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} code - Locale code, language-COUNTRY: ISO 639-1 lower case, a hyphen, ISO 3166-1 upper case — `de-DE` (400 `invalid_locale_code`). Unique per market.\n * @param {string} country - The country half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {boolean} isDefault - Flag this locale as the market's default. The flag MOVES: every other locale of the market loses it in the same call.\n * @param {string} language - The language half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {number} position - Sort position among this market's locales, ascending, default 0 — and the tie-break that picks a default when no locale is flagged.\n * @param {MarketsLocalesCreateStatus} status - 'preparing' or 'active' (400 `invalid_locale_status` otherwise); active when a new locale names none. Add a language as preparing, and switch it to active once its search index is ready.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocale>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsLocalesCreate(marketId: string, code: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: MarketsLocalesCreateStatus): Promise<Models.MarketLocale>;\n marketsLocalesCreate(\n paramsOrFirst: { marketId: string, code: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: MarketsLocalesCreateStatus } | string,\n ...rest: [(string)?, (string)?, (boolean)?, (string)?, (number)?, (MarketsLocalesCreateStatus)?] \n ): Promise<Models.MarketLocale> {\n let params: { marketId: string, code: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: MarketsLocalesCreateStatus };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, code: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: MarketsLocalesCreateStatus };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n code: rest[0] as string,\n country: rest[1] as string,\n isDefault: rest[2] as boolean,\n language: rest[3] as string,\n position: rest[4] as number,\n status: rest[5] as MarketsLocalesCreateStatus \n };\n }\n \n const marketId = params.marketId;\n const code = params.code;\n const country = params.country;\n const isDefault = params.isDefault;\n const language = params.language;\n const position = params.position;\n const status = params.status;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof code === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"code\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/locales'.replace('{market_id}', marketId);\n const apiPayload: Payload = {};\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof country !== 'undefined') {\n apiPayload['country'] = country;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof language !== 'undefined') {\n apiPayload['language'] = language;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Scoped to the market in the path — a row belonging to another market is a 404 here, and is never deleted.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The locale of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocaleDeleted>}\n */\n marketsLocalesDelete(params: { marketId: string, id: string }): Promise<Models.MarketLocaleDeleted>;\n /**\n * Scoped to the market in the path — a row belonging to another market is a 404 here, and is never deleted.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The locale of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocaleDeleted>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsLocalesDelete(marketId: string, id: string): Promise<Models.MarketLocaleDeleted>;\n marketsLocalesDelete(\n paramsOrFirst: { marketId: string, id: string } | string,\n ...rest: [(string)?] \n ): Promise<Models.MarketLocaleDeleted> {\n let params: { marketId: string, id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/locales/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'delete',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Scoped strictly to the market in the path: a row belonging to another market is a 404 here, never a 200.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The locale of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocale>}\n */\n marketsLocalesGet(params: { marketId: string, id: string }): Promise<Models.MarketLocale>;\n /**\n * Scoped strictly to the market in the path: a row belonging to another market is a 404 here, never a 200.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The locale of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocale>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsLocalesGet(marketId: string, id: string): Promise<Models.MarketLocale>;\n marketsLocalesGet(\n paramsOrFirst: { marketId: string, id: string } | string,\n ...rest: [(string)?] \n ): Promise<Models.MarketLocale> {\n let params: { marketId: string, id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/locales/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The locale of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @param {string} params.code - Locale code, language-COUNTRY: ISO 639-1 lower case, a hyphen, ISO 3166-1 upper case — `de-DE` (400 `invalid_locale_code`). Unique per market.\n * @param {string} params.country - The country half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {boolean} params.isDefault - Flag this locale as the market's default. The flag MOVES: every other locale of the market loses it in the same call.\n * @param {string} params.language - The language half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {number} params.position - Sort position among this market's locales, ascending, default 0 — and the tie-break that picks a default when no locale is flagged.\n * @param {string} params.status - 'preparing' or 'active' (400 `invalid_locale_status` otherwise); active when a new locale names none. Add a language as preparing, and switch it to active once its search index is ready.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocale>}\n */\n marketsLocalesUpdate(params: { marketId: string, id: string, code?: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: string }): Promise<Models.MarketLocale>;\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The locale of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @param {string} code - Locale code, language-COUNTRY: ISO 639-1 lower case, a hyphen, ISO 3166-1 upper case — `de-DE` (400 `invalid_locale_code`). Unique per market.\n * @param {string} country - The country half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {boolean} isDefault - Flag this locale as the market's default. The flag MOVES: every other locale of the market loses it in the same call.\n * @param {string} language - The language half of `code`. Omit it and it is derived from the code; state it and it must agree (400 `locale_code_mismatch`).\n * @param {number} position - Sort position among this market's locales, ascending, default 0 — and the tie-break that picks a default when no locale is flagged.\n * @param {string} status - 'preparing' or 'active' (400 `invalid_locale_status` otherwise); active when a new locale names none. Add a language as preparing, and switch it to active once its search index is ready.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketLocale>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsLocalesUpdate(marketId: string, id: string, code?: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: string): Promise<Models.MarketLocale>;\n marketsLocalesUpdate(\n paramsOrFirst: { marketId: string, id: string, code?: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: string } | string,\n ...rest: [(string)?, (string)?, (string)?, (boolean)?, (string)?, (number)?, (string)?] \n ): Promise<Models.MarketLocale> {\n let params: { marketId: string, id: string, code?: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string, code?: string, country?: string, isDefault?: boolean, language?: string, position?: number, status?: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string,\n code: rest[1] as string,\n country: rest[2] as string,\n isDefault: rest[3] as boolean,\n language: rest[4] as string,\n position: rest[5] as number,\n status: rest[6] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n const code = params.code;\n const country = params.country;\n const isDefault = params.isDefault;\n const language = params.language;\n const position = params.position;\n const status = params.status;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/locales/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof country !== 'undefined') {\n apiPayload['country'] = country;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof language !== 'undefined') {\n apiPayload['language'] = language;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof status !== 'undefined') {\n apiPayload['status'] = status;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'put',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Every column is an exact-match filter and they combine with AND (?code=standard); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing. `market_id` is not among them: the owning market comes from the path and overwrites anything the query says. An unknown but well-formed market lists empty rather than 404 — the parent is filtered on, not verified.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - Exact match on `id`. Primary key of this tax class. The class is named by `code` everywhere else, including by other apps.\n * @param {string} params.code - Exact match on `code`. Tax class code, unique per market — the rate bucket a product or a shipping method is assigned to ('standard', 'reduced', 'zero'). Other apps name a class by THIS and by nothing else: there is no foreign key behind it and there cannot be (ADR-0055), which is why the delete route asks the shipping app what still points at the code before removing it.\n * @param {string} params.name - Exact match on `name`. Display name of the rate bucket, in the operator's own language.\n * @param {string} params.labels - Exact match on `labels`. Exact whole-document equality on the jsonb: the value is a whole JSON document and has to match every key, so this is not a path or a containment query. Key order and whitespace are irrelevant — the comparison is semantic. A value that does not parse as JSON is refused with 400 `invalid_value` rather than answered with zero rows. Localized display names for storefronts and invoices, keyed by locale: a flat {locale: label} map, one level deep, string values. The key to write is the `locale_policy.write` from GET /markets/{id}/context, exactly as for a market's labels. Null means nothing is translated and `name` is all there is.\n * @param {number} params.rate - Exact match on `rate`. Tax rate in PERCENT, 0–100 (default 0) — 20 means 20 %, not 0.2. Whether a stored price already contains it is a separate question, answered per market by `pricing.tax_basis` on the context.\n * @param {boolean} params.isDefault - Exact match on `is_default`. The class applied to a line that names none. At most one per market — a write flagging one takes it from the others. A market that stores GROSS prices and marks no default cannot break those prices back down into net, which is why readiness turns that combination from a warning into a blocking failure.\n * @param {boolean} params.active - Exact match on `active`. Whether this class is offered for new records (default true). An inactive class stays valid wherever it is already named — it keeps its rate, the context still lists it, and a product or shipping method pointing at it keeps resolving — but a picker for a new record lists `?active=true` and leaves it out. The default class is always active.\n * @param {number} params.position - Exact match on `position`. Sort position among this market's tax classes, ascending, default 0 — and the tie-break that picks a class when none is flagged default.\n * @param {string} params.createdAt - Exact match on `created_at`. When the tax class was created on this market. Set by the database; never writable.\n * @param {string} params.updatedAt - Exact match on `updated_at`. When the tax class was last written. Set by the database on every update; never writable.\n * @param {number} params.limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} params.offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} params.order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, market_id, code, name, labels, rate, is_default, active, position, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClassList>}\n */\n marketsTaxClassesList(params: { marketId: string, id?: string, code?: string, name?: string, labels?: string, rate?: number, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string }): Promise<Models.MarketTaxClassList>;\n /**\n * Every column is an exact-match filter and they combine with AND (?code=standard); each one is declared as a query parameter above. A `?column=value` this entity does not have is DROPPED rather than refused — the call answers 200 with the unfiltered list — and `filter` echoes what was actually applied, which is the only way to tell that apart from a filter that matched nothing. `market_id` is not among them: the owning market comes from the path and overwrites anything the query says. An unknown but well-formed market lists empty rather than 404 — the parent is filtered on, not verified.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - Exact match on `id`. Primary key of this tax class. The class is named by `code` everywhere else, including by other apps.\n * @param {string} code - Exact match on `code`. Tax class code, unique per market — the rate bucket a product or a shipping method is assigned to ('standard', 'reduced', 'zero'). Other apps name a class by THIS and by nothing else: there is no foreign key behind it and there cannot be (ADR-0055), which is why the delete route asks the shipping app what still points at the code before removing it.\n * @param {string} name - Exact match on `name`. Display name of the rate bucket, in the operator's own language.\n * @param {string} labels - Exact match on `labels`. Exact whole-document equality on the jsonb: the value is a whole JSON document and has to match every key, so this is not a path or a containment query. Key order and whitespace are irrelevant — the comparison is semantic. A value that does not parse as JSON is refused with 400 `invalid_value` rather than answered with zero rows. Localized display names for storefronts and invoices, keyed by locale: a flat {locale: label} map, one level deep, string values. The key to write is the `locale_policy.write` from GET /markets/{id}/context, exactly as for a market's labels. Null means nothing is translated and `name` is all there is.\n * @param {number} rate - Exact match on `rate`. Tax rate in PERCENT, 0–100 (default 0) — 20 means 20 %, not 0.2. Whether a stored price already contains it is a separate question, answered per market by `pricing.tax_basis` on the context.\n * @param {boolean} isDefault - Exact match on `is_default`. The class applied to a line that names none. At most one per market — a write flagging one takes it from the others. A market that stores GROSS prices and marks no default cannot break those prices back down into net, which is why readiness turns that combination from a warning into a blocking failure.\n * @param {boolean} active - Exact match on `active`. Whether this class is offered for new records (default true). An inactive class stays valid wherever it is already named — it keeps its rate, the context still lists it, and a product or shipping method pointing at it keeps resolving — but a picker for a new record lists `?active=true` and leaves it out. The default class is always active.\n * @param {number} position - Exact match on `position`. Sort position among this market's tax classes, ascending, default 0 — and the tie-break that picks a class when none is flagged default.\n * @param {string} createdAt - Exact match on `created_at`. When the tax class was created on this market. Set by the database; never writable.\n * @param {string} updatedAt - Exact match on `updated_at`. When the tax class was last written. Set by the database on every update; never writable.\n * @param {number} limit - Page size (default 50, max 200). Out of range is CLAMPED, not refused — ?limit=999 answers 200 with 200 rows, and `page.limit` says so.\n * @param {number} offset - Row offset for pagination (default 0). A negative offset is clamped to 0 rather than refused.\n * @param {string} order - Sort as 'column' | 'column.asc' | 'column.desc'. The direction is lower case, and the column has to exist: id, market_id, code, name, labels, rate, is_default, active, position, created_at, updated_at.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClassList>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsTaxClassesList(marketId: string, id?: string, code?: string, name?: string, labels?: string, rate?: number, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string): Promise<Models.MarketTaxClassList>;\n marketsTaxClassesList(\n paramsOrFirst: { marketId: string, id?: string, code?: string, name?: string, labels?: string, rate?: number, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string } | string,\n ...rest: [(string)?, (string)?, (string)?, (string)?, (number)?, (boolean)?, (boolean)?, (number)?, (string)?, (string)?, (number)?, (number)?, (string)?] \n ): Promise<Models.MarketTaxClassList> {\n let params: { marketId: string, id?: string, code?: string, name?: string, labels?: string, rate?: number, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id?: string, code?: string, name?: string, labels?: string, rate?: number, isDefault?: boolean, active?: boolean, position?: number, createdAt?: string, updatedAt?: string, limit?: number, offset?: number, order?: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string,\n code: rest[1] as string,\n name: rest[2] as string,\n labels: rest[3] as string,\n rate: rest[4] as number,\n isDefault: rest[5] as boolean,\n active: rest[6] as boolean,\n position: rest[7] as number,\n createdAt: rest[8] as string,\n updatedAt: rest[9] as string,\n limit: rest[10] as number,\n offset: rest[11] as number,\n order: rest[12] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n const code = params.code;\n const name = params.name;\n const labels = params.labels;\n const rate = params.rate;\n const isDefault = params.isDefault;\n const active = params.active;\n const position = params.position;\n const createdAt = params.createdAt;\n const updatedAt = params.updatedAt;\n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/tax_classes'.replace('{market_id}', marketId);\n const apiPayload: Payload = {};\n if (typeof id !== 'undefined') {\n apiPayload['id'] = id;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof labels !== 'undefined') {\n apiPayload['labels'] = labels;\n }\n if (typeof rate !== 'undefined') {\n apiPayload['rate'] = rate;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof createdAt !== 'undefined') {\n apiPayload['created_at'] = createdAt;\n }\n if (typeof updatedAt !== 'undefined') {\n apiPayload['updated_at'] = updatedAt;\n }\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * The owning market comes from the path and overrides anything in the body.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.code - Tax class code, unique per market — the rate bucket a product or a shipping method is assigned to ('standard', 'reduced', 'zero'). Other apps name a class by THIS and by nothing else: there is no foreign key behind it and there cannot be (ADR-0055), which is why the delete route asks the shipping app what still points at the code before removing it.\n * @param {string} params.name - Display name of the rate bucket, in the operator's own language.\n * @param {boolean} params.active - False takes the class out of the choices for new records; records that already name it keep it. The default class cannot be deactivated (409 `default_must_stay_active`) — make another class the default first.\n * @param {boolean} params.isDefault - Flag this class as the market's default. The flag MOVES: every other tax class of the market loses it in the same call. An inactive class cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {object} params.labels - Localized display names for storefronts and invoices, keyed by locale: a flat {locale: label} map, one level deep, string values. The key to write is the `locale_policy.write` from GET /markets/{id}/context, exactly as for a market's labels. Null means nothing is translated and `name` is all there is.\n * @param {number} params.position - Sort position among this market's tax classes, ascending, default 0 — and the tie-break that picks a class when none is flagged default.\n * @param {number} params.rate - Tax rate in PERCENT, 0–100 (default 0) — 20 means 20 %, not 0.2. Whether a stored price already contains it is a separate question, answered per market by `pricing.tax_basis` on the context.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClass>}\n */\n marketsTaxClassesCreate(params: { marketId: string, code: string, name: string, active?: boolean, isDefault?: boolean, labels?: object, position?: number, rate?: number }): Promise<Models.MarketTaxClass>;\n /**\n * The owning market comes from the path and overrides anything in the body.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} code - Tax class code, unique per market — the rate bucket a product or a shipping method is assigned to ('standard', 'reduced', 'zero'). Other apps name a class by THIS and by nothing else: there is no foreign key behind it and there cannot be (ADR-0055), which is why the delete route asks the shipping app what still points at the code before removing it.\n * @param {string} name - Display name of the rate bucket, in the operator's own language.\n * @param {boolean} active - False takes the class out of the choices for new records; records that already name it keep it. The default class cannot be deactivated (409 `default_must_stay_active`) — make another class the default first.\n * @param {boolean} isDefault - Flag this class as the market's default. The flag MOVES: every other tax class of the market loses it in the same call. An inactive class cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {object} labels - Localized display names for storefronts and invoices, keyed by locale: a flat {locale: label} map, one level deep, string values. The key to write is the `locale_policy.write` from GET /markets/{id}/context, exactly as for a market's labels. Null means nothing is translated and `name` is all there is.\n * @param {number} position - Sort position among this market's tax classes, ascending, default 0 — and the tie-break that picks a class when none is flagged default.\n * @param {number} rate - Tax rate in PERCENT, 0–100 (default 0) — 20 means 20 %, not 0.2. Whether a stored price already contains it is a separate question, answered per market by `pricing.tax_basis` on the context.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClass>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsTaxClassesCreate(marketId: string, code: string, name: string, active?: boolean, isDefault?: boolean, labels?: object, position?: number, rate?: number): Promise<Models.MarketTaxClass>;\n marketsTaxClassesCreate(\n paramsOrFirst: { marketId: string, code: string, name: string, active?: boolean, isDefault?: boolean, labels?: object, position?: number, rate?: number } | string,\n ...rest: [(string)?, (string)?, (boolean)?, (boolean)?, (object)?, (number)?, (number)?] \n ): Promise<Models.MarketTaxClass> {\n let params: { marketId: string, code: string, name: string, active?: boolean, isDefault?: boolean, labels?: object, position?: number, rate?: number };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, code: string, name: string, active?: boolean, isDefault?: boolean, labels?: object, position?: number, rate?: number };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n code: rest[0] as string,\n name: rest[1] as string,\n active: rest[2] as boolean,\n isDefault: rest[3] as boolean,\n labels: rest[4] as object,\n position: rest[5] as number,\n rate: rest[6] as number \n };\n }\n \n const marketId = params.marketId;\n const code = params.code;\n const name = params.name;\n const active = params.active;\n const isDefault = params.isDefault;\n const labels = params.labels;\n const position = params.position;\n const rate = params.rate;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof code === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"code\"');\n }\n if (typeof name === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"name\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/tax_classes'.replace('{market_id}', marketId);\n const apiPayload: Payload = {};\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof labels !== 'undefined') {\n apiPayload['labels'] = labels;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof rate !== 'undefined') {\n apiPayload['rate'] = rate;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Refused with a 409 (`tax_class_in_use`) for as long as another app still points at this tax class by its code. A tax class is the source of record for a rate, and other apps name it by CODE with no foreign key behind it — a cross-app FK is what ADR-0055 forbids. So this asks shipping, products and payments what still uses the code (shipping.tax-classes.usage, products.tax-classes.usage, payments.tax-classes.usage), each in the class's own market (`x-revenexx-market`, never the caller's), and answers 409 with the counts and the first few names per app rather than leaving records quoting a rate nobody defines. The check FAILS OPEN: an app that is not installed, does not answer yet, or is unreachable does not stop the delete, and 'usage_checked' says whether every app answered.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The tax class of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClassDeleted>}\n */\n marketsTaxClassesDelete(params: { marketId: string, id: string }): Promise<Models.MarketTaxClassDeleted>;\n /**\n * Refused with a 409 (`tax_class_in_use`) for as long as another app still points at this tax class by its code. A tax class is the source of record for a rate, and other apps name it by CODE with no foreign key behind it — a cross-app FK is what ADR-0055 forbids. So this asks shipping, products and payments what still uses the code (shipping.tax-classes.usage, products.tax-classes.usage, payments.tax-classes.usage), each in the class's own market (`x-revenexx-market`, never the caller's), and answers 409 with the counts and the first few names per app rather than leaving records quoting a rate nobody defines. The check FAILS OPEN: an app that is not installed, does not answer yet, or is unreachable does not stop the delete, and 'usage_checked' says whether every app answered.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The tax class of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClassDeleted>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsTaxClassesDelete(marketId: string, id: string): Promise<Models.MarketTaxClassDeleted>;\n marketsTaxClassesDelete(\n paramsOrFirst: { marketId: string, id: string } | string,\n ...rest: [(string)?] \n ): Promise<Models.MarketTaxClassDeleted> {\n let params: { marketId: string, id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/tax_classes/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'delete',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Scoped strictly to the market in the path: a row belonging to another market is a 404 here, never a 200.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The tax class of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClass>}\n */\n marketsTaxClassesGet(params: { marketId: string, id: string }): Promise<Models.MarketTaxClass>;\n /**\n * Scoped strictly to the market in the path: a row belonging to another market is a 404 here, never a 200.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The tax class of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClass>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsTaxClassesGet(marketId: string, id: string): Promise<Models.MarketTaxClass>;\n marketsTaxClassesGet(\n paramsOrFirst: { marketId: string, id: string } | string,\n ...rest: [(string)?] \n ): Promise<Models.MarketTaxClass> {\n let params: { marketId: string, id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/tax_classes/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} params.marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} params.id - The tax class of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @param {boolean} params.active - False takes the class out of the choices for new records; records that already name it keep it. The default class cannot be deactivated (409 `default_must_stay_active`) — make another class the default first.\n * @param {string} params.code - Tax class code, unique per market — the rate bucket a product or a shipping method is assigned to ('standard', 'reduced', 'zero'). Other apps name a class by THIS and by nothing else: there is no foreign key behind it and there cannot be (ADR-0055), which is why the delete route asks the shipping app what still points at the code before removing it.\n * @param {boolean} params.isDefault - Flag this class as the market's default. The flag MOVES: every other tax class of the market loses it in the same call. An inactive class cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {object} params.labels - Localized display names for storefronts and invoices, keyed by locale: a flat {locale: label} map, one level deep, string values. The key to write is the `locale_policy.write` from GET /markets/{id}/context, exactly as for a market's labels. Null means nothing is translated and `name` is all there is.\n * @param {string} params.name - Display name of the rate bucket, in the operator's own language.\n * @param {number} params.position - Sort position among this market's tax classes, ascending, default 0 — and the tie-break that picks a class when none is flagged default.\n * @param {number} params.rate - Tax rate in PERCENT, 0–100 (default 0) — 20 means 20 %, not 0.2. Whether a stored price already contains it is a separate question, answered per market by `pricing.tax_basis` on the context.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClass>}\n */\n marketsTaxClassesUpdate(params: { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, rate?: number }): Promise<Models.MarketTaxClass>;\n /**\n * Partial: omitted fields keep their value.\n *\n * @param {string} marketId - The owning market. A uuid — this route does not accept a market code. An unknown market lists empty rather than 404.\n * @param {string} id - The tax class of a market, by its primary key. A uuid — this route does not resolve a code, so a segment that will not cast is a 400 before any row is read.\n * @param {boolean} active - False takes the class out of the choices for new records; records that already name it keep it. The default class cannot be deactivated (409 `default_must_stay_active`) — make another class the default first.\n * @param {string} code - Tax class code, unique per market — the rate bucket a product or a shipping method is assigned to ('standard', 'reduced', 'zero'). Other apps name a class by THIS and by nothing else: there is no foreign key behind it and there cannot be (ADR-0055), which is why the delete route asks the shipping app what still points at the code before removing it.\n * @param {boolean} isDefault - Flag this class as the market's default. The flag MOVES: every other tax class of the market loses it in the same call. An inactive class cannot be flagged (409 `inactive_cannot_be_default`).\n * @param {object} labels - Localized display names for storefronts and invoices, keyed by locale: a flat {locale: label} map, one level deep, string values. The key to write is the `locale_policy.write` from GET /markets/{id}/context, exactly as for a market's labels. Null means nothing is translated and `name` is all there is.\n * @param {string} name - Display name of the rate bucket, in the operator's own language.\n * @param {number} position - Sort position among this market's tax classes, ascending, default 0 — and the tie-break that picks a class when none is flagged default.\n * @param {number} rate - Tax rate in PERCENT, 0–100 (default 0) — 20 means 20 %, not 0.2. Whether a stored price already contains it is a separate question, answered per market by `pricing.tax_basis` on the context.\n * @throws {RevenexxException}\n * @returns {Promise<Models.MarketTaxClass>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n marketsTaxClassesUpdate(marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, rate?: number): Promise<Models.MarketTaxClass>;\n marketsTaxClassesUpdate(\n paramsOrFirst: { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, rate?: number } | string,\n ...rest: [(string)?, (boolean)?, (string)?, (boolean)?, (object)?, (string)?, (number)?, (number)?] \n ): Promise<Models.MarketTaxClass> {\n let params: { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, rate?: number };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { marketId: string, id: string, active?: boolean, code?: string, isDefault?: boolean, labels?: object, name?: string, position?: number, rate?: number };\n } else {\n params = {\n marketId: paramsOrFirst as string,\n id: rest[0] as string,\n active: rest[1] as boolean,\n code: rest[2] as string,\n isDefault: rest[3] as boolean,\n labels: rest[4] as object,\n name: rest[5] as string,\n position: rest[6] as number,\n rate: rest[7] as number \n };\n }\n \n const marketId = params.marketId;\n const id = params.id;\n const active = params.active;\n const code = params.code;\n const isDefault = params.isDefault;\n const labels = params.labels;\n const name = params.name;\n const position = params.position;\n const rate = params.rate;\n\n if (typeof marketId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"marketId\"');\n }\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/markets/{market_id}/tax_classes/{id}'.replace('{market_id}', marketId).replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof code !== 'undefined') {\n apiPayload['code'] = code;\n }\n if (typeof isDefault !== 'undefined') {\n apiPayload['is_default'] = isDefault;\n }\n if (typeof labels !== 'undefined') {\n apiPayload['labels'] = labels;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof rate !== 'undefined') {\n apiPayload['rate'] = rate;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'put',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n}\n"]}
|