import type { Address, CellFormulaValue, CellValue, Style, TableColumnProperties, TableStyleProperties } from "./types.js"; import type { Worksheet } from "./worksheet.js"; interface TableModel { ref: string; name: string; displayName?: string; columns: TableColumnProperties[]; rows: CellValue[][]; headerRow?: boolean; totalsRow?: boolean; qualifyImplicitStructuredReferences?: boolean; style?: TableStyleProperties; tl?: Address; autoFilterRef?: string; tableRef?: string; } /** * Sanitize a table name to comply with OOXML defined name rules * (ECMA-376, 4th edition, Part 1, ยง18.5.1.2). * * Rules enforced (per Microsoft documentation): * - First character must be a letter (any script), underscore (_), or backslash (\) * - Subsequent characters may be letters, digits, underscores, or periods (.) * - Backslash is only valid as the first character * - Spaces are replaced with underscores * - Other invalid characters are stripped * - Single-character names "C", "c", "R", "r" are prefixed with _ * - Names that look like cell references (e.g. A1, R1C1) are prefixed with _ * - Maximum 255 characters * - Empty result falls back to "_Table" * * This library applies these rules automatically so that generated files * always comply with the OOXML schema, avoiding Excel "repair" dialogs. */ declare function sanitizeTableName(name: string): string; declare class Column { readonly table: Table; readonly column: TableColumnProperties; readonly index: number; constructor(table: Table, column: TableColumnProperties, index: number); private _set; get name(): string; set name(value: string); get filterButton(): boolean | undefined; set filterButton(value: boolean | undefined); get style(): Partial