import { type ReactNode } from 'react'; /** * Visual recipe for cart chrome. * Default `pill` preserves kiosk; `compact` = mobile floater; `panel` = desktop * docked/side summary (Card customer surface tokens — not a floating bar). */ export type BottomCartBarAppearance = 'pill' | 'compact' | 'panel'; /** * Retail V1 bottom cart bar — single source of truth for the floating * Icon | Summary | CTA chrome (Customer StickyCartBar, kiosk, and any future * consumers). No clear/destructive action here — that lives in cart detail. * * Layout: flex + min-w-min reserves intrinsic width for price/readable count * before the shrink-0 CTA. Count line may clip pathological emptySummary only * (overflow-hidden, no ellipsis). Price is never clipped or truncated. * * Expand choreography is capped to transform/opacity within the fixed bar * height (pill 76px / compact 68px — no layout jump from height change). * `panel` is auto-height (desktop sticky/side summary). */ export interface BottomCartBarProps { readonly itemCountLabel: string; readonly priceLabel: string; /** Shown as red badge on the cart icon when > 0. */ readonly badgeCount?: number; readonly payLabel: string; readonly payDisabled: boolean; readonly payPending?: boolean; readonly openCartAria: string; readonly payAria: string; /** * Optional pay-disabled reason — announced via aria-describedby on the CTA * so the bar layout never gains a third text line. */ readonly statusMessage?: string | null; readonly onOpenCart: () => void; readonly onPay: () => void; readonly testId?: string; readonly openTestId?: string; readonly payTestId?: string; readonly className?: string; readonly icon?: ReactNode; /** * `pill` — accent-filled rounded-[999px] h-[76px] (kiosk default). * `compact` — theme-inverse accent fill (same as primary buttons), rounded-2xl, * ~68px; Pay CTA uses `--customer-cart-bar-pay-*` (opposite of the bar). * `panel` — elevated Card surface, bordered, no floating margins; desktop * sticky/inline/side summary (Spec §20.2). */ readonly appearance?: BottomCartBarAppearance; } export declare const BottomCartBar: import("react").ForwardRefExoticComponent>; //# sourceMappingURL=BottomCartBar.d.ts.map