import { RowData, Column, Header, HeaderGroup, Table } from '../types'; import { TableFeature } from './table'; export interface CoreHeaderGroup { id: string; depth: number; headers: Header[]; } export interface HeaderContext { table: Table; header: Header; column: Column; } export interface CoreHeader { id: string; index: number; depth: number; column: Column; headerGroup: HeaderGroup; subHeaders: Header[]; parentHeaderId?: string; getParentHeader: () => Header | undefined; colSpan: number; rowSpan: number; isCover?: boolean; getLeafHeaders: () => Header[]; isPlaceholder: boolean; placeholderId?: string; getContext: () => HeaderContext; } export interface HeadersInstance { getHeaderGroups: () => HeaderGroup[]; getLeftHeaderGroups: () => HeaderGroup[]; getCenterHeaderGroups: () => HeaderGroup[]; getRightHeaderGroups: () => HeaderGroup[]; getFooterGroups: () => HeaderGroup[]; getLeftFooterGroups: () => HeaderGroup[]; getCenterFooterGroups: () => HeaderGroup[]; getRightFooterGroups: () => HeaderGroup[]; getFlatHeaders: () => Header[]; getLeftFlatHeaders: () => Header[]; getCenterFlatHeaders: () => Header[]; getRightFlatHeaders: () => Header[]; getLeafHeaders: () => Header[]; getLeftLeafHeaders: () => Header[]; getCenterLeafHeaders: () => Header[]; getRightLeafHeaders: () => Header[]; } export declare const Headers: TableFeature; export declare function buildHeaderGroups(allColumns: Column[], columnsToGroup: Column[], table: Table, headerFamily?: 'center' | 'left' | 'right'): HeaderGroup[];