import { PureComponent } from 'react'; import { II18nLocaleGrid } from '../i18n'; import Store from './Store'; import Header from './Header'; import Footer from './Footer'; import { IGridSelectionAllCheckboxProps } from './SelectionCheckboxAll'; import { IGridColumn, IGridOnChangeConfig, GridScrollPosition, GridSortType, GridRowClassNameType, GridPaginationType, IGridPageInfo, IGridScrollDelta, IGridSelection, IGridExpandation, IGridRowClickHandler, IGridOnExpandHandler, IGridInnerFixedType, IGridColumnBodyRenderFunc, IGridBatchRender } from './types'; import { ICheckboxEvent } from '../checkbox'; import { IRadioEvent } from '../radio'; import { IBlockLoadingProps } from '../loading/props'; export interface IGridProps { size?: 'medium' | 'large' | 'small'; columns: IGridColumn[]; datasets: ReadonlyArray; rowKey?: string; tableLayout?: 'auto' | 'fixed'; onChange?: (conf: IGridOnChangeConfig) => any; scroll?: IGridScrollDelta; sortBy?: string; sortType?: GridSortType; defaultSortType?: GridSortType; emptyLabel?: React.ReactNode; selection?: IGridSelection; expandation?: IGridExpandation; loading?: boolean; bordered?: boolean; className?: string; rowClassName?: GridRowClassNameType; pageInfo?: IGridPageInfo; paginationType?: GridPaginationType; onRowClick?: IGridRowClickHandler; ellipsis?: boolean; onExpand?: IGridOnExpandHandler; components?: { row?: React.ComponentType; }; rowProps?: (data: Data, index: number) => RowProps; batchRender?: IGridBatchRender; stickyBatch?: boolean; autoStick?: boolean; autoStickOffsetTop?: number; disableHoverHighlight?: boolean; loadingProps?: Omit; } export interface IGridState { mouseOverRowIndex: number; fixedColumnsBodyRowsHeight: Array; fixedColumnsHeadRowsHeight: Array; fixedColumnsBodyExpandRowsHeight: Array; expandRowKeys: boolean[]; showStickHead: boolean; tableWidth?: number; marginLeft?: string; } export interface IGridInnerColumn extends IGridColumn { key?: string; } export declare class Grid, Key = string> extends PureComponent, IGridState> { static defaultProps: Partial; mounted: boolean; selectionPropsCache: { [key: string]: { disabled?: boolean; reason?: React.ReactNode; }; }; store: Store; gridNode: import("react").RefObject; footNode: import("react").RefObject