import type { ReactNode } from "react";
import { type Table } from "@tanstack/react-table";
/** Props for {@link ResourceTable}. */
export interface ResourceTableProps<TData> {
    /** TanStack Table instance from `useResourceCollection`. */
    readonly table: Table<TData>;
    /** Whether row selection is enabled. */
    readonly enableSelection?: boolean;
    /**
     * Render function for per-row actions (e.g. an `ActionMenu`).
     * Shown in the last column. Omit to hide the actions column.
     */
    readonly renderRowAction?: (item: TData) => ReactNode;
    /**
     * Called when a row is clicked (but not when a checkbox or action
     * inside the row is clicked).
     */
    readonly onRowClick?: (item: TData) => void;
    /** Accessible label for the table. @default "Resources" */
    readonly "aria-label"?: string;
    /** Additional CSS classes for the root container. */
    readonly className?: string;
}
/**
 * Table view for the resource workbench.
 *
 * Renders a semantic `<table>` element using column definitions and
 * data from a TanStack Table instance. Supports sortable column
 * headers, row selection checkboxes, per-row action menus, and
 * keyboard-navigable rows.
 *
 * This component renders **only the table**. Search, filters, view
 * switching, and pagination are handled by the parent `ResourceWorkbench`.
 *
 * @example
 * ```tsx
 * const { table } = useResourceCollection({ ... });
 * <ResourceTable
 *   table={table}
 *   enableSelection
 *   renderRowAction={(item) => <AgentActionMenu item={item} />}
 *   onRowClick={(item) => navigate(item.slug)}
 * />
 * ```
 */
export declare function ResourceTable<TData>({ table, enableSelection, renderRowAction, onRowClick, "aria-label": ariaLabel, className, }: ResourceTableProps<TData>): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=ResourceTable.d.ts.map