import type { Column } from "./column.js"; import type { ValueType, FormulaType } from "./enums.js"; import { Note } from "./note.js"; import type { Row } from "./row.js"; import type { Style, NumFmt, Font, Alignment, Protection, Borders, Fill, CellRichTextValue, CellErrorValue, DataValidation, CellValue, CellValueInput, CellHyperlinkValue, RichText } from "./types.js"; import type { Workbook } from "./workbook.js"; import type { Worksheet } from "./worksheet.js"; export type FormulaResult = string | number | boolean | Date | CellErrorValue; export interface FormulaValueData { shareType?: string; ref?: string; formula?: string; sharedFormula?: string; result?: FormulaResult; date1904?: boolean; isDynamicArray?: boolean; } interface FullAddress { sheetName: string; address: string; row: number; col: number; } export interface CellAddress { address: string; row: number; col: number; $col$row?: string; } export interface NoteText { text: string; font?: Partial; } export interface NoteConfig { texts?: NoteText[]; margins?: { insetmode?: string; inset?: number[]; }; protection?: { locked?: string; lockText?: string; }; editAs?: string; anchor?: string; /** Comment box width in points. Defaults to 97.8pt when omitted. */ width?: number; /** Comment box height in points. Defaults to 59.1pt when omitted. */ height?: number; } export interface NoteModel { type: string; note: NoteConfig; author?: string; } export interface CellModel { address: string; type: ValueType; value?: number | string | boolean | Date | CellRichTextValue | CellErrorValue | CellHyperlinkValue; style?: Partial