import type { ReactNode } from "react";
/** Props for {@link ResourceCards}. */
export interface ResourceCardsProps<TData> {
    /** Items to render as cards. */
    readonly items: readonly TData[];
    /** Render function for each card's content. */
    readonly renderCard: (item: TData, index: number) => ReactNode;
    /** Whether selection checkboxes are shown on cards. */
    readonly enableSelection?: boolean;
    /** Set of selected item IDs. */
    readonly selectedIds?: ReadonlySet<string>;
    /** Called when an item's selection state is toggled. */
    readonly onToggleSelection?: (id: string) => void;
    /** Extracts a stable unique ID from an item. */
    readonly getItemId?: (item: TData) => string;
    /**
     * Render function for per-card actions (e.g. an `ActionMenu`).
     * Shown in the top-right corner of the card.
     */
    readonly renderCardAction?: (item: TData) => ReactNode;
    /** Called when a card is clicked (not when a control inside is clicked). */
    readonly onCardClick?: (item: TData) => void;
    /** Accessible label for the card grid region. @default "Resource cards" */
    readonly "aria-label"?: string;
    /** Additional CSS classes for the grid container. */
    readonly className?: string;
}
/**
 * Card grid view for the resource workbench.
 *
 * Renders items as a responsive grid of cards. Each card supports an
 * optional selection checkbox, an action slot, and click handling.
 * Card content is fully customizable via the `renderCard` prop.
 *
 * This component renders **only the card grid**. Search, filters, and
 * pagination are handled by the parent `ResourceWorkbench`.
 */
export declare function ResourceCards<TData>({ items, renderCard, enableSelection, selectedIds, onToggleSelection, getItemId, renderCardAction, onCardClick, "aria-label": ariaLabel, className, }: ResourceCardsProps<TData>): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=ResourceCards.d.ts.map