import { cJ as Money, C as CurrencyCode, dH as PricePathTaxInfo, P as Product, e as ProductWithDetails, ei as QuantityPricingTier, cH as MobileMoneyProvider, dl as PaymentErrorDetails, dw as PaymentResponse, dy as PaymentStatusResponse, e6 as PurchaseIntentMobileMoneyNetwork } from './elements-Bty6Qs_N.mjs'; import { P as ProductWithPrice } from './price-CSztR02F.mjs'; import { CountryCode } from 'libphonenumber-js'; declare const CURRENCY_SYMBOLS: Record; declare function getCurrencySymbol(currencyCode: CurrencyCode): string; declare function formatNumberCompact(value: number, decimals?: number): string; declare function formatPrice(amount: number | Money, currency?: CurrencyCode, locale?: string): string; declare function formatPriceAdjustment(amount: number, currency?: CurrencyCode, locale?: string): string; declare function formatPriceCompact(amount: number | Money, currency?: CurrencyCode, decimals?: number): string; declare function formatMoney(amount: Money | number, currency?: CurrencyCode): string; declare function parsePrice(value: Money | string | number | undefined | null): number; declare function hasTaxInfo(priceInfo: { tax_info?: PricePathTaxInfo; }): boolean; declare function getTaxAmount(priceInfo: { tax_info?: PricePathTaxInfo; }): number; declare function isTaxInclusive(priceInfo: { tax_info?: PricePathTaxInfo; }): boolean; declare function formatPriceWithTax(priceInfo: { final_price: Money; tax_info?: PricePathTaxInfo; }, currency?: CurrencyCode): string; declare function getDisplayPrice(product: ProductWithPrice): number; declare function getBasePrice(product: ProductWithPrice): number; declare function isOnSale(product: ProductWithPrice): boolean; declare function getDiscountPercentage(product: ProductWithPrice): number; declare function getMarkupPercentage(product: ProductWithPrice): number; declare function getProductCurrency(product: ProductWithPrice): CurrencyCode; declare function formatProductPrice(product: ProductWithPrice, locale?: string): string; declare function getUnitPriceAtQuantity(tiers: QuantityPricingTier[], quantity: number, fallback: number): number; declare function getPriceRange(product: Product | ProductWithDetails): { min: number; max: number; } | null; declare function formatPriceRange(min: number, max: number, currency?: CurrencyCode): string; declare function categorizePaymentError(error: Error, errorCode?: string): PaymentErrorDetails; declare function normalizePaymentResponse(response: unknown): PaymentResponse; declare const PAYMENT_TERMINAL_FAILURE_STATUSES: readonly ["failed", "cancelled", "voided", "abandoned", "refunded", "refund_pending", "reversed", "disputed"]; declare function isPaymentStatusSuccess(status: string | undefined): boolean; declare function isPaymentStatusFailure(status: string | undefined): boolean; declare function isPaymentStatusRequiresAction(status: string | undefined): boolean; declare function normalizeStatusResponse(response: unknown): PaymentStatusResponse; declare const MOBILE_MONEY_PROVIDERS: { readonly mtn: { readonly name: "MTN Mobile Money"; readonly prefix: readonly ["024", "025", "053", "054", "055", "059"]; }; readonly vodafone: { readonly name: "Telecel Cash"; readonly prefix: readonly ["020", "050"]; }; readonly airtel: { readonly name: "AirtelTigo Money"; readonly prefix: readonly ["026", "027", "056", "057"]; }; }; type CanonicalMobileMoneyProvider = Extract; /** Normalize route-catalog and legacy network aliases to storefront provider codes. */ declare function canonicalMobileMoneyProvider(provider: string | null | undefined): CanonicalMobileMoneyProvider | null; /** * Collapse storefront aliases to Checkout's closed durable network vocabulary. * M-PESA is deliberately absent until the backend can issue a matching * PurchaseIntent payment option. */ declare function purchaseIntentMobileMoneyNetwork(provider: string | null | undefined): PurchaseIntentMobileMoneyNetwork | null; /** * Validate an external payment-authorization URL before browser navigation. * Provider payloads are data, not executable navigation instructions: only * HTTPS is accepted outside local development. */ declare function paymentAuthorizationUrl(value: unknown): string | null; declare function detectMobileMoneyProvider(phoneNumber: string): "mtn" | "vodafone" | "airtel" | null; interface PhoneNormalizationOptions { country?: string | null; currency?: string | null; } declare function resolvePhoneCountryCode(options?: PhoneNormalizationOptions): CountryCode | undefined; declare function normalizePhoneToE164(raw: string, options?: PhoneNormalizationOptions): string | null; declare function isValidPhoneForContext(raw: string, options?: PhoneNormalizationOptions): boolean; export { isTaxInclusive as A, isValidPhoneForContext as B, CURRENCY_SYMBOLS as C, normalizePaymentResponse as D, normalizePhoneToE164 as E, normalizeStatusResponse as F, parsePrice as G, paymentAuthorizationUrl as H, purchaseIntentMobileMoneyNetwork as I, resolvePhoneCountryCode as J, MOBILE_MONEY_PROVIDERS as M, PAYMENT_TERMINAL_FAILURE_STATUSES as P, type CanonicalMobileMoneyProvider as a, categorizePaymentError as b, canonicalMobileMoneyProvider as c, detectMobileMoneyProvider as d, formatNumberCompact as e, formatMoney as f, formatPrice as g, formatPriceAdjustment as h, formatPriceCompact as i, formatPriceRange as j, formatPriceWithTax as k, formatProductPrice as l, getBasePrice as m, getCurrencySymbol as n, getDiscountPercentage as o, getDisplayPrice as p, getMarkupPercentage as q, getPriceRange as r, getProductCurrency as s, getTaxAmount as t, getUnitPriceAtQuantity as u, hasTaxInfo as v, isOnSale as w, isPaymentStatusFailure as x, isPaymentStatusRequiresAction as y, isPaymentStatusSuccess as z };