import React from 'react'; import { DefaultRecordType, FixedType, AfterDragColWidthType, DataIndex } from './interface'; import { ColumnType } from './iTable'; import ColumnManager from './ColumnManager'; export declare type OnDragEndType = { dragSource?: DefaultRecordType; dragTarget?: DefaultRecordType; }; export interface TableHeaderProps { draggable: boolean; columnsChildrenList: ColumnType[]; rows: DefaultRecordType[][]; clsPrefix?: string; locale?: string | Record; rowStyle?: DefaultRecordType | null; minColumnWidth?: number; contentDomWidth?: number; scrollbarWidth?: number; tableUid?: string; dragborder?: boolean; contentTable?: HTMLElement | null; headerScroll?: any; parentNode?: React.ReactNode; columnManager?: ColumnManager; filterable?: boolean; lastShowIndex?: number; leftFixedWidth?: number; rightFixedWidth?: number; onDraggingBorder?: (e?: React.DragEvent, width?: number) => void; onDragEnd?: (e?: React.DragEvent, onDragEndData?: OnDragEndType) => void; onMouseDown?: (e?: React.MouseEvent) => void; onDrop?: (e?: React.DragEvent, onDragData?: OnDragEndType) => void; onFilterChange?: (key: string | number, value?: string, condition?: string) => void; onFilterClear?: (dataIndex: DataIndex) => void; onCopy?: (data?: DefaultRecordType, e?: React.ClipboardEventHandler) => void; bodyDisplayInRow?: boolean; eventNoStop?: boolean; onDropBorder?: (e?: React.DragEvent, width?: number) => void; fixed?: FixedType; afterDragColWidth?: (data: AfterDragColWidthType) => void; filterDelay?: number; onHeaderRow?: (columns?: DefaultRecordType[], index?: number) => void; fieldid?: string; bordered?: boolean; bigColumns?: boolean; headerHeight?: number | null; maxLevel?: number; expandIconColumnIndex?: number; expandedIcon?: JSX.Element; collapsedIcon?: JSX.Element; headerShowExpandIcon?: boolean; onExpandedAll?: (expand: boolean) => void; needIndentSpaced?: boolean; expanded?: boolean; expandIconAsCell?: boolean; }