import type { DataTableColumnPinning, DataTableViewState } from './DataTableController.js'; import type { DataTableColumn } from './types.js'; export interface DataTableResolvedColumn { column: DataTableColumn; pin?: DataTableColumnPinning['position']; /** A persisted pixel width supersedes the column's presentational default. */ width?: number; /** CSS-safe width used for a sticky offset when one is available. */ offsetWidth: string; stickyOffset?: string; } export interface DataTableHeaderGroupCell { kind: 'group'; key: string; label: string; colspan: number; rowspan: number; pin?: DataTableColumnPinning['position']; stickyOffset?: string; } export interface DataTableHeaderLeafCell { kind: 'leaf'; column: DataTableResolvedColumn; rowspan: number; } export type DataTableHeaderCell = DataTableHeaderGroupCell | DataTableHeaderLeafCell; export interface DataTableLayout { columns: DataTableResolvedColumn[]; headerRows: DataTableHeaderCell[][]; } /** * Resolve a DOM-safe table layout from canonical controller state. Pinning is * a partition of the configured order so the visual and assistive orders stay * aligned. Header groups are then rebuilt from the final visible leaf order. */ export declare function resolveDataTableLayout(columns: readonly DataTableColumn[], state: Pick, measuredWidths?: Readonly>): DataTableLayout; //# sourceMappingURL=DataTableLayout.d.ts.map