import { PerPageOptions } from '@patternfly/react-core'; import { Dispatch, ReactNode, SetStateAction } from 'react'; import { IPageAction } from '../PageActions/PageAction'; import { PageTableViewType } from '../PageToolbar/PageTableViewType'; import { IFilterState, IToolbarFilter } from '../PageToolbar/PageToolbarFilter'; import { ITableColumn } from './PageTableColumn'; export type PageTableCommonProps = { id?: string; keyFn: (item: T) => string | number; itemCount?: number; pageItems: T[] | undefined; toolbarActions?: IPageAction[]; tableColumns: ITableColumn[]; rowActions?: IPageAction[]; toolbarFilters?: IToolbarFilter[]; filterState?: IFilterState; setFilterState?: Dispatch>; clearAllFilters?: () => void; page: number; perPage: number; setPage: (page: number) => void; setPerPage: (perPage: number) => void; perPageOptions?: PerPageOptions[]; sort?: string; setSort?: (sort: string) => void; sortDirection?: 'asc' | 'desc'; setSortDirection?: (sortDirection: 'asc' | 'desc') => void; compact?: boolean; borderless?: boolean; autoHidePagination?: boolean; isSelected?: (item: T) => boolean; isSelectMultiple?: boolean; selectedItems?: T[]; selectItem?: (item: T) => void; unselectItem?: (item: T) => void; selectItems?: (items: T[]) => void; unselectAll?: () => void; onSelect?: (item: T) => void; errorStateTitle: string; error?: Error; emptyState?: ReactNode; showSelect?: boolean; disableTableView?: boolean; disableListView?: boolean; disableCardView?: boolean; defaultTableView?: PageTableViewType; disableBodyPadding?: boolean; disablePagination?: boolean; defaultSubtitle?: ReactNode; expandedRow?: (item: T) => ReactNode; disableLastRowBorder?: boolean; maxSelections?: number; topContent?: React.ReactNode; toolbarContent?: React.ReactNode; limitFiltersToOneOrOperation?: boolean; defaultExpandedRows?: boolean; }; export type PageTableProps = WithEmptyState | WithoutEmptyState; interface WithEmptyState extends PageTableCommonProps { emptyState: ReactNode; emptyStateTitle?: never; emptyStateDescription?: never; emptyStateIcon?: never; emptyStateNoDataIcon?: never; emptyStateActions?: never; emptyStateButtonIcon?: never; emptyStateButtonText?: never; emptyStateButtonClick?: never; emptyStateVariant?: never; } interface WithoutEmptyState extends PageTableCommonProps { emptyState?: never; emptyStateTitle?: string; emptyStateDescription?: string | null; emptyStateIcon?: React.ComponentClass; emptyStateNoDataIcon?: React.ComponentClass; emptyStateActions?: IPageAction[]; emptyStateButtonIcon?: React.ReactNode; emptyStateButtonText?: string | null; emptyStateButtonClick?: () => void; emptyStateVariant?: 'default' | 'light' | 'dark' | 'darker'; } export declare function PageTable(props: PageTableProps): string | number | true | Iterable | import("react/jsx-runtime").JSX.Element; export {};