import React from 'react'; import { OnScrollParams, GridProps, Index } from 'react-virtualized'; import FieldTokenFactory from 'components/common/field-token'; import { DataContainerInterface } from 'utils/table-utils/data-container-interface'; export declare const Container: import("styled-components").StyledComponent<"div", any, {}, never>; interface TableSectionProps { classList?: { header: string; rows: string; }; isPinned?: boolean; columns: (string & { ghost?: boolean; })[]; headerGridProps?: any; fixedWidth?: number; fixedHeight?: number; onScroll?: (params: OnScrollParams) => void; scrollTop?: number; dataGridProps: { rowHeight: number | ((params: Index) => number); rowCount: number; } & Partial; columnWidth?: any; setGridRef?: Function; headerCellRender?: any; dataCellRender?: any; scrollLeft?: number; } export declare const TableSection: ({ classList, isPinned, columns, headerGridProps, fixedWidth, fixedHeight, onScroll, scrollTop, dataGridProps, columnWidth, setGridRef, headerCellRender, dataCellRender, scrollLeft }: TableSectionProps) => React.JSX.Element; type CellSizeCache = { [id: string]: number; }; interface DataTableProps { cellSizeCache?: CellSizeCache; pinnedColumns?: string[]; columns: (string & { ghost?: boolean; })[]; fixedWidth?: number; theme?: any; dataContainer: DataContainerInterface; fixedHeight?: number; colMeta: { [id: string]: { name: string; type: string; }; }; sortColumn?: { [id: string]: string; }; sortTableColumn: (id: string, mode?: string) => void; pinTableColumn: (id: string) => void; copyTableColumn: (id: string) => void; sortOrder?: number[] | null; } interface DataTableState { cellSizeCache?: CellSizeCache; moreOptionsColumn?: any; ghost?: any; } declare function DataTableFactory(FieldToken: ReturnType): React.ForwardRefExoticComponent<{ ref?: React.LegacyRef<{ state: DataTableState; componentDidMount(): void; componentDidUpdate(prevProps: any): void; componentWillUnmount(): void; root: React.RefObject; columns: (props: DataTableProps) => (string & { ghost?: boolean; })[]; pinnedColumns: (props: DataTableProps) => string[]; unpinnedColumns: ((state: DataTableProps) => (string & { ghost?: boolean; })[]) & import("reselect").OutputSelectorFields<(args_0: (string & { ghost?: boolean; })[], args_1: string[]) => (string & { ghost?: boolean; })[], { clearCache: () => void; }> & { clearCache: () => void; }; toggleMoreOptions: (moreOptionsColumn: any) => void; getCellSizeCache: () => { cellSizeCache: {}; ghost: number; }; doScaleCellsToWidth: () => void; scaleCellsToWidth: any; renderHeaderCell: (columns: (string & { ghost?: boolean; })[], isPinned: boolean, props: DataTableProps, toggleMoreOptions: any, moreOptionsColumn: any) => (cellInfo: any) => React.JSX.Element; renderDataCell: (columns: any, isPinned: any, props: DataTableProps) => (cellInfo: any) => React.JSX.Element; render(): React.JSX.Element; context: unknown; setState(state: DataTableState | ((prevState: Readonly, props: Readonly) => DataTableState | Pick) | Pick, callback?: () => void): void; forceUpdate(callback?: () => void): void; readonly props: Readonly; refs: { [key: string]: React.ReactInstance; }; shouldComponentUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): boolean; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, prevState: Readonly): any; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; }>; key?: React.Key; dataContainer?: DataContainerInterface; columns: (string & { ghost?: boolean; })[]; sortColumn?: { [id: string]: string; }; sortOrder?: number[]; pinnedColumns?: string[]; sortTableColumn: (id: string, mode?: string) => void; pinTableColumn: (id: string) => void; copyTableColumn: (id: string) => void; cellSizeCache?: CellSizeCache; colMeta?: { [id: string]: { name: string; type: string; }; }; fixedWidth?: number; fixedHeight?: number; } & { theme?: any; }>; declare namespace DataTableFactory { var deps: (typeof FieldTokenFactory)[]; } export default DataTableFactory;