/** * @typedef {object} DefaultHeaderSettings * @property {string} label The name/label of the column header. * @property {number} colspan Current calculated colspan value of the rendered column header element. * @property {number} origColspan Original colspan value, set once while parsing user-defined nested header settings. * @property {number} rowspan Current calculated rowspan value of the rendered column header element. * @property {number} origRowspan Original rowspan value, set once while parsing user-defined nested header settings. * @property {boolean} collapsible The flag determines whether the node is collapsible (can be collapsed/expanded). * @property {number[]} crossHiddenColumns The list of visual column indexes which indicates that the specified columns within * the header settings are hidden. * @property {boolean} isCollapsed The flag determines whether the node is collapsed. * @property {boolean} isHidden The flag determines whether the column header at specified index is hidden. If true * the TH element will be rendered as hidden (display: none). * @property {boolean} isRoot The flag which determines whether the column header settings is actually not renderable. That kind * of objects are generated after colspaned header to fill an array to correct size. * For example for header with colspan = 8 the 7 blank objects are generated to fill the array settings * to length = 8. * @property {boolean} isPlaceholder The flag determines whether the column header at the specified index is non-renderable. * @property {boolean} isRowspanPlaceholder The flag determines whether the column header is covered by a rowspan from a header * in a row above and should not be rendered. * @property {string[]} headerClassNames The list of CSS classes that will be added to the `div` element inside the * header Acts as a replacement for the analogous property from the Handsontable settings. */ /** * Explicitly sets in which collapse state a header (and its columns) stays visible: * - `'collapsed'` - visible only while the parent group is collapsed (hidden while expanded); * - `'expanded'` - visible only while the parent group is expanded (hidden while collapsed); * - `'always'` - visible in both states. * * When left unset (within a group that uses any of these markers), the header defaults to * `'expanded'` - it is hidden when the group collapses, matching the default collapse behavior. */ export type HeaderVisibility = 'collapsed' | 'expanded' | 'always'; /** * Creates the header settings object with default values. * * @param {DefaultHeaderSettings} initialValues The initial values for the header settings object. * @returns {DefaultHeaderSettings} */ export declare function createDefaultHeaderSettings({ label, colspan, origColspan, rowspan, origRowspan, collapsible, crossHiddenColumns, isCollapsed, isHidden, isRoot, isPlaceholder, isRowspanPlaceholder, headerClassNames, visibleWhen }?: { label?: string; colspan?: number; origColspan?: number; rowspan?: number; origRowspan?: number; collapsible?: boolean; crossHiddenColumns?: number[]; isCollapsed?: boolean; isHidden?: boolean; isRoot?: boolean; isPlaceholder?: boolean; isRowspanPlaceholder?: boolean; headerClassNames?: string[]; visibleWhen?: HeaderVisibility; }): { label: string; colspan: number; origColspan: number; rowspan: number; origRowspan: number; collapsible: boolean; isCollapsed: boolean; crossHiddenColumns: number[]; isHidden: boolean; isRoot: boolean; isPlaceholder: boolean; isRowspanPlaceholder: boolean; headerClassNames: string[]; visibleWhen: HeaderVisibility | undefined; }; /** * Creates the placeholder header settings object. Those settings tell the header renderers * that this TH element should not be rendered (the node will be overlapped by the previously * created node with colspan bigger than 1). * * @returns {object} */ export declare function createPlaceholderHeaderSettings(): { label: string; isPlaceholder: boolean; };