import * as React from 'react'; import { TableProps as DSTableProps } from '@strapi/design-system'; import { EmptyStateLayoutProps } from './EmptyStateLayout'; import type { Attribute, Entity } from '@strapi/types'; interface TableContextValue { selectedEntries: Entity.ID[]; setSelectedEntries: React.Dispatch>; onSelectRow: (args: { name: Entity.ID; value: boolean; }) => void; rows: TRow[]; isLoading: boolean; isFetching: boolean; colCount: number; rowCount: number; } declare const useTableContext: () => TableContextValue; interface ActionBarProps { children: React.ReactNode; } interface BulkDeleteButtonProps { onConfirmDeleteAll: (ids: Entity.ID[]) => Promise; } interface HeadProps { children: React.ReactNode; } interface HeaderCellProps { fieldSchemaType: Attribute.Kind | 'custom'; name: string; relationFieldName?: string; isSortable?: boolean; label: string; } interface RootProps extends Partial> { children: React.ReactNode; defaultSelectedEntries?: Entity.ID[]; } interface EmptyBodyProps extends EmptyStateLayoutProps { contentType: string; } interface BodyProps { children: React.ReactNode; } interface ContentProps extends Pick { children: React.ReactNode; } declare const Table: { Content: ({ children, footer }: ContentProps) => import("react/jsx-runtime").JSX.Element; Root: ({ children, defaultSelectedEntries, rows, colCount, isLoading, isFetching, }: RootProps) => import("react/jsx-runtime").JSX.Element; Body: ({ children }: BodyProps) => import("react/jsx-runtime").JSX.Element | null; ActionBar: ({ children }: ActionBarProps) => import("react/jsx-runtime").JSX.Element | null; Head: ({ children }: HeadProps) => import("react/jsx-runtime").JSX.Element; HeaderCell: ({ fieldSchemaType, name, relationFieldName, isSortable, label, }: HeaderCellProps) => import("react/jsx-runtime").JSX.Element; HeaderHiddenActionsCell: () => import("react/jsx-runtime").JSX.Element; HeaderCheckboxCell: () => import("react/jsx-runtime").JSX.Element | null; LoadingBody: () => import("react/jsx-runtime").JSX.Element | null; EmptyBody: ({ contentType, ...rest }: EmptyBodyProps) => import("react/jsx-runtime").JSX.Element | null; BulkDeleteButton: ({ onConfirmDeleteAll }: BulkDeleteButtonProps) => import("react/jsx-runtime").JSX.Element; }; export { Table, useTableContext }; //# sourceMappingURL=Table.d.ts.map