import React, { ReactElement, ReactNode } from 'react'; import { TableProps } from 'react-table'; import { TableColumns } from '@monorail/visualComponents/dataTable/ReactTable'; import { CompareSearchType } from '@monorail/visualComponents/inputs/SearchController'; export declare enum CollectionView { Table = "table", Card = "card" } export declare type SearchFilterType = (params: { item: T; compareSearch: CompareSearchType; value: string; }) => boolean; declare type SearchFilter = { searchFilter: SearchFilterType; }; declare type SearchInput = { searchInput: ReactNode; }; export declare type CollectionProps = { collectionView: CollectionView; columns: TableColumns; data: TableProps['data']; setCollectionView: (collectionView: CollectionView) => void; cardRender?: (item: T) => ReactElement; filters?: Array; isLoading?: boolean; NoDataComponent?: () => ReactElement; PaginationComponent?: () => ReactElement; pageSize?: number; showPagination?: boolean; pivotBy?: Array; } & (SearchFilter | SearchInput); export declare const Collection: (props: CollectionProps) => React.ReactElement, string | ((props: any) => React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>; export {};