import * as React from 'react'; interface OfferCardProps { /** Item display name shown in the info bar. */ name: string; /** Primary item image (e.g. weapon skin render). */ iconUrl?: string; /** Small tier icon shown before the name. */ tierIconUrl?: string; /** Tier accent color (hex, with or without the leading `#`). Applied to the image background and discount badge. */ tierColor?: string; /** Currency icon next to the price. */ currencyIconUrl?: string; /** Price in the item's currency. Omit to hide the price block. */ price?: number; /** Discount percentage (0-100). Renders the slanted discount badge when set. */ discount?: number; /** Badge pinned to the top-left of the image - typically the equipped checkmark. */ equippedBadge?: React.ReactNode; /** Badge pinned to the bottom-right of the image - typically the favorite star. */ favoriteBadge?: React.ReactNode; /** Badge pinned to the bottom-left of the image - typically the lock state icon. */ lockedBadge?: React.ReactNode; /** Layout shape: `list` (wide 10:4) vs `grid` (16:9). */ variant?: 'list' | 'grid'; /** Visual density. Defaults to `compact` for grid and `regular` for list. */ size?: 'compact' | 'regular'; /** Image width as a percentage of card width (0-100). Defaults to 80. */ imageWidthPercent?: number; /** Tap handler. When omitted the card renders without `Pressable`. */ onPress?: () => void; /** Absolutely-positioned node rendered over the image (e.g. an "owned" overlay). */ imageOverlay?: React.ReactNode; /** Show the skeleton placeholder instead of the real card. */ isLoading?: boolean; /** Extra classes merged onto the outer card wrapper. */ className?: string; } /** * Single store offer (typically a weapon skin) - image on top, info bar * on the bottom with tier icon + name + price. Layout shared between the * wide list row and the narrower 2-up grid tile. * * Data-free: the consumer resolves the skin/tier/currency assets and * passes URLs + strings. Status badges can be supplied directly for the * common equipped / favorite / locked states; use `imageOverlay` for other * overlays such as an owned or sold-out state. */ declare function OfferCard({ name, iconUrl, tierIconUrl, tierColor, currencyIconUrl, price, discount, equippedBadge, favoriteBadge, lockedBadge, variant, size, imageWidthPercent, onPress, imageOverlay, isLoading, className, }: OfferCardProps): import("react/jsx-runtime").JSX.Element; export { OfferCard }; export type { OfferCardProps }; //# sourceMappingURL=offer-card.d.ts.map