import { SelectionChoice, SelectionOptions, SelectionProduct, SelectionVariant } from '@fanfare-io/fanfare-sdk-core/selections'; /** Display strings for one captured product/variant pair. */ export interface SelectionDisplay { productName: string; variantLabel: string | null; } /** * Display strings for a captured pair, from an already-in-memory options payload. * Null when the pair is not present in the payload — callers render the generic * summary. Purely presentational; performs no fetching. */ export declare function selectionDisplayFromOptions(options: SelectionOptions | null, choice: SelectionChoice | null | undefined): SelectionDisplay | null; /** * The pick a checkout is for, as the adapter loaded it. * * Carries the catalogue objects and their optional external references for commerce identity. * Handles, SKUs and option values describe presentation, not authoritative checkout identity. * A default variant can carry its external reference while its option values remain empty. */ export interface SelectionCheckoutDetails { selection: SelectionChoice; product: SelectionProduct; variant: SelectionVariant; currencyCode: string; } /** * The loaded product and variant behind a captured pair. Null when no catalogue is in hand or it * does not carry the pair — a checkout hand-off still happens, with no details to describe it. */ export declare function selectionCheckoutDetailsFromOptions(options: SelectionOptions | null, choice: SelectionChoice | null | undefined): SelectionCheckoutDetails | null; /** * Renders a wire money string in its currency for display only. * * Money crosses the wire and stays in selection state as a string, and nothing on the * selection path compares or computes with it; rendering goes through the package's * money helper, which rounds once at the currency's minor unit as an integer rather * than round-tripping the amount through a float. A string outside the wire money * shape falls back to the code and the untouched string, so the exact amount is * always visible. */ export declare function formatPrice(price: string, currencyCode: string, locale?: string): string;