import * as React from 'react'; import { type ImageStyle, type StyleProp } from 'react-native'; type OwnedItemVariant = 'default' | 'card' | 'title' | 'currency' | 'buddy'; type OwnedItemProgressPlacement = 'inside' | 'below'; interface OwnedItemCardProps { /** Thumbnail URL - the owned item's icon. */ iconUrl?: string; /** * Applies common owned-item thumbnail defaults. Explicit `fill`, * `iconSize`, `iconStyle`, and `tinted` props override these defaults. */ itemVariant?: OwnedItemVariant; /** * Fill the tile edge-to-edge. Defaults to `true` since most owned * items (player cards, sprays, flex items, weapon skins with grid * transforms) are full-bleed. Pass `false` for gun buddies, which * render at 80% with padding. Ignored when `iconSize` is set. */ fill?: boolean; /** * Explicit icon size as a percentage of the tile — e.g. `"50%"` for * currency / buddy, `"80%"` for weapon skins. Overrides `fill` when set. */ iconSize?: `${number}%`; /** * Draw a soft radial darken behind the badge corners so the badges * stay legible on light / busy art. Only player cards use this in * the source app - sprays and flex items are full-bleed but skip * the shadow. Independent of `fill`. */ badgeShadow?: boolean; /** * Extra style merged onto the inner image - useful for per-item * scale / translate / rotate transforms (e.g. positioning weapon * art inside a grid tile). Applied after the default width/height * so width/height can still be overridden if the caller wants. */ iconStyle?: StyleProp; /** Tint the icon with `--color-foreground` — for title / currency glyphs shipped as masks. */ tinted?: boolean; /** Render the red selection ring. */ isSelected?: boolean; /** Dim the tile to 30% - used to flag stackable items the viewer has run out of. */ isDepleted?: boolean; /** Badge pinned to the top-left - typically the equipped checkmark. */ equippedBadge?: React.ReactNode; /** Badge pinned to the bottom-left - typically the lock state icon. */ lockedBadge?: React.ReactNode; /** Badge pinned to the bottom-right - typically the favorite star. */ favoriteBadge?: React.ReactNode; /** Remaining stack count rendered in the top-right (`X{count}`). Omit to hide. */ remainingCount?: number; /** Show the skeleton placeholder instead of the real tile. */ isLoading?: boolean; /** * XP accumulated toward this level. Pass with `xp` to draw a partial * progress stripe. Pass without `xp` (or `xp: 0`) to show an empty track. * Omit both to hide the stripe entirely. */ progressionXp?: number; /** XP required to complete this level. */ xp?: number; /** Progress stripe fills 100% green — tile is completed. */ isCompleted?: boolean; /** Draw progress inside the tile or as a separate bar below it. */ progressPlacement?: OwnedItemProgressPlacement; /** Fixed square cell size for below-tile progress layouts. */ progressCellSize?: number; /** Extra classes merged onto the outer tile wrapper. */ className?: string; } /** * Square owned-inventory tile used in every customize picker - player * cards, titles, sprays, gun buddies, weapon skins. Shows the item's * icon, optional equipped + locked + favorite badges, a red selection * ring, and an optional `X{n}` remaining count. * * Data-free: the consumer resolves the icon URL + favorite / equipped * state and supplies the badge icons as `ReactNode` (e.g. phosphor * ``, ``). Does not read * theme / asset / favorites stores. Pair with a `` wrapper * upstream for tap handling. * * Per-item image styling: consumers can pass `iconStyle` to layer * scale / translate / rotate transforms onto the inner image - needed * for weapon skins, where each gun's art has to be re-positioned to * fit a square tile. */ declare function OwnedItemCard({ iconUrl, itemVariant, fill, iconSize, badgeShadow, iconStyle, tinted, isSelected, isDepleted, equippedBadge, lockedBadge, favoriteBadge, remainingCount, isLoading, progressionXp, xp, isCompleted, progressPlacement, progressCellSize, className, }: OwnedItemCardProps): import("react/jsx-runtime").JSX.Element; export { OwnedItemCard }; export type { OwnedItemCardProps, OwnedItemVariant, OwnedItemProgressPlacement }; //# sourceMappingURL=owned-item-card.d.ts.map