/// import { InjectedIntl, Messages } from 'react-intl'; export declare const paginationOptions: { paginationSize: number; sizePerPage: number; pageStartIndex: number; alwaysShowAllBtns: boolean; withFirstAndLast: boolean; hideSizePerPage: boolean; hidePageListOnlyOnePage: boolean; firstPageText: string; prePageText: string; nextPageText: string; lastPageText: string; nextPageTitle: string; prePageTitle: string; firstPageTitle: string; lastPageTitle: string; }; export declare function messagesToColumns(messages: Messages, intl: InjectedIntl, keyMap?: any): any[]; export declare enum TableDefinitionType { TEXT = "TEXT", SELECT = "SELECT", NUMBER = "NUMBER", DATE = "DATE" } export declare enum TableFilterOperator { LIKE = "LIKE", EQ = "=", NE = "!=", GT = ">", GE = ">=", LT = "<", LE = "<=" } export interface TableRowDefinition { id: string; text?: string; dataField?: string; formatter?: (cell: any, row: T, rowIndex: number, extraData: any) => string | JSX.Element | Array; type?: TableDefinitionType; filterValue?: (cell: any, row: T) => any; filterOptions?: { [key: string]: any; }; sort?: boolean; onSort?: (sortField: string, sortOrder: 'asc' | 'desc') => void; } export interface TableState { totalSize?: number; page?: number; sizePerPage?: number; sortField?: string; sortOrder?: 'asc' | 'desc'; filters?: { [key: string]: { filterVal: any; comparator: TableFilterOperator; }; }; } export interface TableStateChanged extends TableState { data?: Array; cellEdit?: { rowId?: any; dataField?: any; newValue?: any; }; } export interface TableDefinition { id: string; rowDefinitions: Array>; state?: TableState; remote?: boolean; keyField?: string; onTableChange?: (type: 'filter' | 'pagination' | 'sort' | 'cellEdit', newState: TableStateChanged) => void; paginationOptions?: { page?: number; sizePerPage?: number; paginationSize?: number; pageStartIndex?: number; alwaysShowAllBtns?: boolean; withFirstAndLast?: boolean; hideSizePerPage?: boolean; hidePageListOnlyOnePage?: boolean; firstPageText?: string; prePageText?: string; nextPageText?: string; lastPageText?: string; nextPageTitle?: string; prePageTitle?: string; firstPageTitle?: string; lastPageTitle?: string; showTotal?: boolean; paginationTotalRenderer?: (from: number, to: number, size: number) => JSX.Element; sizePerPageList?: Array<{ text: string; value: number; }>; objectPluralMessageKey?: string; totalSize?: number; }; dateFormatter?: (date: Date) => string | JSX.Element; } export declare function tableColumnSelectArrayToObject(array: Array, value?: string, key?: string): {}; export declare function createTableProps(data: Array, tableDefinition: TableDefinition, messages: Messages, intl: InjectedIntl, useWrapper?: boolean): { [key: string]: any; }; export declare function getRowOptions(tableDefinition: TableDefinition, rowDefinition: TableRowDefinition, messages: Messages, intl: InjectedIntl, isLocal: boolean, useWrapper: boolean): TableRowDefinition; export declare function defaultFilterTypeObjectCreator(tableDefinition: TableDefinition, rowDefinition: TableRowDefinition, filterOptions: { [key: string]: any; }, messages: Messages, intl: InjectedIntl, isLocal: boolean): any; export declare function mergeTableState(oldState: TableState, newState: TableState, remote: boolean): { [key: string]: any; }; export declare function writeTableStateToUrl(name: string, tableState: TableState): void; export declare function readTableStateFromUrl(name: string, defaultTableState?: TableState): Partial; export declare function getDefaultSizePerPageList(): Array<{ text: string; value: number; }>; export declare function resourcesToOptions(data: Array, label?: string, key?: string, labelCallback?: (label: string, row: any) => string, keyCallback?: (key: string, row: any) => string): {};