import type { ReactNode } from "react";
/** Props for {@link ResourceList}. */
export interface ResourceListProps<TData> {
    /** Items to render as compact list rows. */
    readonly items: readonly TData[];
    /** Render function for each row's content. */
    readonly renderRow: (item: TData, index: number) => ReactNode;
    /** Whether selection checkboxes are shown on rows. */
    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-row actions (e.g. an `ActionMenu`).
     * Shown at the end of the row.
     */
    readonly renderRowAction?: (item: TData) => ReactNode;
    /** Called when a row is clicked (not when a control inside is clicked). */
    readonly onRowClick?: (item: TData) => void;
    /** Accessible label for the list region. @default "Resource list" */
    readonly "aria-label"?: string;
    /** Additional CSS classes for the list container. */
    readonly className?: string;
}
/**
 * Compact list view for the resource workbench.
 *
 * Renders items as a single-column vertical list of rows. Each row
 * supports selection, an action slot, and click handling. Row content
 * is customizable via the `renderRow` prop.
 *
 * This component renders **only the list**. Search, filters, and
 * pagination are handled by the parent `ResourceWorkbench`.
 */
export declare function ResourceList<TData>({ items, renderRow, enableSelection, selectedIds, onToggleSelection, getItemId, renderRowAction, onRowClick, "aria-label": ariaLabel, className, }: ResourceListProps<TData>): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=ResourceList.d.ts.map