import * as React from 'react'; import * as PropTypes from 'prop-types'; import { Store } from './createStore'; import Column from './Column'; import ColumnGroup from './ColumnGroup'; import { TableProps, TableSize, TableState, TableComponents, TableLocale, ColumnProps, TableStateFilters, SelectionItemSelectFn, SelectionInfo, PrepareParamsArgumentsReturn } from './interface'; import { SpinProps } from '../spin'; import { RadioChangeEvent } from '../radio'; import { CheckboxChangeEvent } from '../checkbox'; import { ConfigConsumerProps } from '../config-provider'; export default class Table extends React.Component, TableState> { static Column: typeof Column; static ColumnGroup: typeof ColumnGroup; static propTypes: { dataSource: PropTypes.Requireable; columns: PropTypes.Requireable; prefixCls: PropTypes.Requireable; useFixedHeader: PropTypes.Requireable; rowSelection: PropTypes.Requireable; className: PropTypes.Requireable; size: PropTypes.Requireable; loading: PropTypes.Requireable; bordered: PropTypes.Requireable; onChange: PropTypes.Requireable<(...args: any[]) => any>; locale: PropTypes.Requireable; dropdownPrefixCls: PropTypes.Requireable; sortDirections: PropTypes.Requireable; }; static defaultProps: { dataSource: never[]; useFixedHeader: boolean; className: string; size: TableSize; loading: boolean; bordered: boolean; indentSize: number; locale: {}; rowKey: string; showHeader: boolean; sortDirections: string[]; }; CheckboxPropsCache: { [key: string]: any; }; store: Store; columns: ColumnProps[]; components: TableComponents; row: React.ComponentType; constructor(props: TableProps); getCheckboxPropsByItem: (item: T, index: number) => any; getDefaultSelection(): any[]; getDefaultPagination(props: TableProps): {}; componentWillReceiveProps(nextProps: TableProps): void; onRow: (prefixCls: string, record: T, index: number) => any; setSelectedRowKeys(selectedRowKeys: string[], selectionInfo: SelectionInfo): void; hasPagination(props?: any): boolean; isFiltersChanged(filters: TableStateFilters): boolean; getSortOrderColumns(columns?: ColumnProps[]): any; getFilteredValueColumns(columns?: ColumnProps[]): any; getFiltersFromColumns(columns?: ColumnProps[]): any; getDefaultSortOrder(columns?: ColumnProps[]): { sortColumn: any; sortOrder: any; }; getSortStateFromColumns(columns?: ColumnProps[]): { sortColumn: any; sortOrder: any; }; getSorterFn(state: TableState): ((a: T, b: T) => number) | undefined; isSameColumn(a: ColumnProps | null, b: ColumnProps | null): any; toggleSortOrder(column: ColumnProps): void; handleFilter: (column: ColumnProps, nextFilters: string[]) => void; handleSelect: (record: T, rowIndex: number, e: CheckboxChangeEvent) => void; handleRadioSelect: (record: T, rowIndex: number, e: RadioChangeEvent) => void; handleSelectRow: (selectionKey: string, index: number, onSelectFunc: SelectionItemSelectFn) => any; handlePageChange: (current: number, ...otherArguments: any[]) => void; renderSelectionBox: (type: "checkbox" | "radio" | undefined) => (_: any, record: T, index: number) => JSX.Element; getRecordKey: (record: T, index: number) => any; getPopupContainer: () => HTMLElement; generatePopupContainerFunc: () => (() => HTMLElement) | undefined; renderRowSelection(prefixCls: string, locale: TableLocale): ColumnProps[]; getColumnKey(column: ColumnProps, index?: number): string | number | undefined; getMaxCurrent(total: number): number | undefined; isSortColumn(column: ColumnProps): boolean; renderColumnsDropdown(prefixCls: string, dropdownPrefixCls: string, columns: ColumnProps[], locale: TableLocale): any[]; renderColumnTitle(title: ColumnProps['title']): React.ReactNode; handleShowSizeChange: (current: number, pageSize: number) => void; renderPagination(prefixCls: string, paginationPosition: string): JSX.Element | null; prepareParamsArguments(state: any): PrepareParamsArgumentsReturn; findColumn(myKey: string | number): undefined; getCurrentPageData(): T[]; getFlatData(): any[]; getFlatCurrentPageData(childrenColumnName: string | undefined): any[]; recursiveSort(data: T[], sorterFn: (a: any, b: any) => number): T[]; getLocalData(state?: TableState | null, filter?: boolean): Array; createComponents(components?: TableComponents, prevComponents?: TableComponents): void; renderTable: (prefixCls: string, renderEmpty: (componentName?: string | undefined) => React.ReactNode, dropdownPrefixCls: string, contextLocale: TableLocale, loading: SpinProps) => JSX.Element; renderComponent: ({ getPrefixCls, renderEmpty }: ConfigConsumerProps) => JSX.Element; render(): JSX.Element; }