import * as React from 'react'; export interface ReducerState { header: [number, number]; row: [number, number]; table: [number, number]; } export declare type TableEntity = keyof ReducerState; export interface MeasureAction { entity: TableEntity; dimensions: [number, number]; } export declare type Column = { key: T; width: number; title?: string; Component?: React.ElementType<{ row?: K; column?: Column; }>; HeaderCell?: React.ElementType; }; export declare type ReactElementType = React.FunctionComponent | React.ComponentClass | string; export declare type WindowTableProps = { columns: Column[]; data: T[]; height?: number; width?: number; rowHeight?: number; overscanCount?: number; disableHeader?: boolean; style?: React.CSSProperties; Cell?: React.ElementType; HeaderCell?: React.ElementType; Table?: React.ElementType; Header?: React.ElementType; HeaderRow?: React.ElementType; Row?: React.ElementType; Body?: React.ElementType; sampleRowIndex?: number; sampleRow?: T; className?: string; rowClassName?: string | Function; classNamePrefix?: string; variableSizeRows?: boolean; debounceWait?: number; headerCellInnerElementType?: string; tableCellInnerElementType?: string; tableOuterRef?: React.Ref; tableOuterElementType?: ReactElementType; }; export interface RowCellsProps { columns: any[]; classNamePrefix: string; datum: any; Cell: React.ElementType; index?: number; setSize?: any; } export interface HeaderRowProps { Header: React.ElementType; HeaderRow: React.ElementType; HeaderCell: React.ElementType; children?: any; } export interface Html5TableProps extends WindowTableProps { headerClassName?: string; }