import React from 'react'; import { noop } from 'rxjs'; import { Table, TableProps } from '../../base'; import { CellProps } from '../../interfaces'; import { CrossTableLeftMetaColumn, LeftCrossTreeNode, TopCrossTreeNode } from '../cross-table'; export interface CrossTreeTableProps extends Omit { BaseTableComponent?: any; baseTableRef?: React.Ref; primaryColumn: CrossTableLeftMetaColumn; leftTree: LeftCrossTreeNode[]; topTree: TopCrossTreeNode[]; defaultOpenKeys?: string[]; openKeys?: string[]; onChangeOpenKeys?(nextOpenKeys: string[]): void; indentSize?: number; isLeafNode?(node: any, nodeMeta: { depth: number; expanded: boolean; rowKey: string; }): boolean; getValue(leftNode: LeftCrossTreeNode, topNode: TopCrossTreeNode, leftDepth: number, topDepth: number): any; render?(value: any, leftNode: LeftCrossTreeNode, topNode: TopCrossTreeNode, leftDepth: number, topDepth: number): React.ReactNode; getCellProps?(value: any, leftNode: LeftCrossTreeNode, topNode: TopCrossTreeNode, leftDepth: number, topDepth: number): CellProps; } export default class CrossTreeTable extends React.Component { static defaultProps: { defaultOpenKeys: string[]; onChangeOpenKeys: typeof noop; }; static getDerivedStateFromProps(nextProps: Readonly): { openKeys: string[]; }; constructor(props: Readonly); onChangeOpenKeys: (nextOpenKeys: string[]) => void; render(): JSX.Element; }