import React from 'react'; import PropTypes from 'prop-types'; import type { ColumnShape, RowData } from './types'; export interface TableHeaderProps { className?: string; width: number; height: number; headerHeight: number | number[]; rowWidth: number; rowHeight: number; columns: ColumnShape[]; data: RowData[]; frozenData?: RowData[]; headerRenderer: (args: { style: React.CSSProperties; columns: ColumnShape[]; headerIndex: number; }) => React.ReactNode; rowRenderer: (args: { style: React.CSSProperties; columns: ColumnShape[]; rowData: RowData; rowIndex: number; }) => React.ReactNode; hoveredRowKey?: string | number | null; } declare class TableHeader extends React.PureComponent { headerRef: HTMLDivElement | null; static propTypes: { className: PropTypes.Requireable; width: PropTypes.Validator; height: PropTypes.Validator; headerHeight: PropTypes.Validator>>; rowWidth: PropTypes.Validator; rowHeight: PropTypes.Validator; columns: PropTypes.Validator<(object | null | undefined)[]>; data: PropTypes.Validator; frozenData: PropTypes.Requireable; headerRenderer: PropTypes.Validator<(...args: any[]) => any>; rowRenderer: PropTypes.Validator<(...args: any[]) => any>; }; constructor(props: TableHeaderProps); scrollTo(offset: number): void; renderHeaderRow(height: number, index: number): React.ReactNode; renderFrozenRow(rowData: RowData, index: number): React.ReactNode; render(): React.JSX.Element | null; _setRef(ref: HTMLDivElement | null): void; } export default TableHeader;