import { z } from "zod"; /** Provider-native or shopper-presentation money in major currency units. */ export declare const catalogMoneySchema: z.ZodObject<{ amount: z.ZodString; currency: z.ZodString; }, z.core.$strict>; export type CatalogMoney = z.infer; /** Audit metadata for a display-only currency conversion. */ export declare const presentationFxProvenanceSchema: z.ZodObject<{ rate: z.ZodString; provider: z.ZodString; quotedAt: z.ZodISODateTime; validUntil: z.ZodOptional>; }, z.core.$strict>; export type PresentationFxProvenance = z.infer; /** * A provider-native price together with the single currency selected for the * shopper. `native` remains authoritative for re-pricing and booking; * `presentation` is display/ranking data only. */ export declare const presentationMoneySchema: z.ZodObject<{ native: z.ZodObject<{ amount: z.ZodString; currency: z.ZodString; }, z.core.$strict>; presentation: z.ZodObject<{ amount: z.ZodString; currency: z.ZodString; }, z.core.$strict>; fx: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>; export type PresentationMoney = z.infer; /** Provider-neutral quote returned by a server-side FX authority. */ export interface PresentationFxQuote extends PresentationFxProvenance { } /** * Server-side FX seam. Implementations own credentials; themes and browsers * receive only the resulting presentation money and provenance. */ export type PresentationFxQuoter = (sourceCurrency: string, targetCurrency: string) => Promise; export type PriceRankingStatus = "ranked_native" | "ranked_presentation" | "unranked_mixed_currency" | "unranked_fx_unavailable"; /** Explains whether a merged fan-out is safe to order by price. */ export interface PriceRanking { status: PriceRankingStatus; /** The one currency used for a meaningful rank, when ranking succeeded. */ currency?: string; /** Native currencies for which presentation conversion was unavailable. */ unavailableCurrencies?: readonly string[]; }