import { Location, MaterialItem } from '@gamepark/rules-api'; import { ReactNode } from 'react'; export type MaterialListHelpProps = { /** The location whose contents are being listed. */ location: Location; /** Material type of the items rendered in the list. */ type: M; /** i18n key for the dialog title (rendered in an `

`). */ titleKey?: string; /** i18n key for the count line (rendered in a `

`). Receives `{ number }`. */ countKey?: string; /** Optional extra paragraph(s) rendered between the count and the grid. */ description?: ReactNode; /** * Comparator deciding card order. Defaults to "most recent first" by * sorting on `-location.x` (matches the standard discard convention where * `x` is the insertion order). */ sortBy?: (item: MaterialItem) => number; /** Max cards per row before wrapping. Defaults to 5. */ maxCols?: number; /** Optional callback when a card is clicked (defaults to opening its help). */ onCardClick?: (item: MaterialItem, index: number) => void; }; /** * Generic help dialog content listing every card in a given location. * * Clicking a card opens that card's own help dialog (stacked on top of this * one — the dialog navigation lets the player come back). * * Designed to be plugged into a `LocationDescription.help`. Because the * default `MaterialDescription.displayHelp` routes clicks on items in a * location-with-help to the location help, no extra wiring is needed: * * ```tsx * class DiscardArea extends DropAreaDescription { * help = ({ location }: LocationHelpProps) => * * } * ``` */ export declare const MaterialListHelp: ({ location, type, titleKey, countKey, description, sortBy, maxCols, onCardClick }: MaterialListHelpProps) => import("@emotion/react/jsx-runtime").JSX.Element;