import type { Cell, CellValue, CellStyle, MergeRange, Image, CellImage, Chart, ConditionalFormat, Table, AutoFilter, FreezePane, SplitPane, SheetProtection, PageSetup, PageMargins, HeaderFooter, PrintOptions, SheetView, ColumnDef, RowDef, Sparkline, DataValidation, WorksheetOptions, PivotTable, PageBreak, FormControl, Shape, WordArt, QueryTable, TableSlicer, MathEquation, OleObject } from '../core/types.js'; import type { SharedStrings } from '../core/SharedStrings.js'; import type { StyleRegistry } from '../styles/StyleRegistry.js'; interface WorkbookRef { markDirty(name: string): void; setActiveSheet(name: string): void; } export declare class Worksheet { readonly name: string; private cells; private merges; private images; private cellImages; private charts; private conditionalFormats; private tables; private pivotTables; private sparklines; private formControls; private shapes; private wordArt; private queryTables; private tableSlicers; private mathEquations; private oleObjects; private colDefs; private rowDefs; private dataValidations; private rowBreaks; private colBreaks; private preservedXml; private _nextSharedIdx; options: WorksheetOptions; view?: SheetView; freezePane?: FreezePane; splitPane?: SplitPane; protection?: SheetProtection; pageSetup?: PageSetup; pageMargins?: PageMargins; headerFooter?: HeaderFooter; printOptions?: PrintOptions; autoFilter?: AutoFilter; _isChartSheet: boolean; _isDialogSheet: boolean; sheetIndex: number; rId: string; drawingRId: string; legacyDrawingRId: string; tableRIds: string[]; ctrlPropRIds: string[]; slicerRId: string; _workbook?: WorkbookRef; _slicerDrawingInfo: Array<{ name: string; cell?: string; }>; constructor(name: string, options?: WorksheetOptions); markDirty(): void; setActive(): void; getCell(row: number, col: number): Cell; getCellByRef(ref: string): Cell; setCell(row: number, col: number, cell: Cell): this; setValue(row: number, col: number, value: CellValue): this; setFormula(row: number, col: number, formula: string): this; setDynamicArrayFormula(row: number, col: number, formula: string): this; setSharedFormula(masterRow: number, masterCol: number, formula: string, rangeRef: string): this; setStyle(row: number, col: number, style: CellStyle): this; writeArray(startRow: number, startCol: number, data: CellValue[][]): this; writeColumn(startRow: number, col: number, values: CellValue[]): this; writeRow(row: number, startCol: number, values: CellValue[]): this; setColumn(col: number, def: ColumnDef): this; setColumnWidth(col: number, width: number): this; setRow(row: number, def: RowDef): this; setRowHeight(row: number, height: number): this; merge(startRow: number, startCol: number, endRow: number, endCol: number): this; mergeByRef(ref: string): this; getMerges(): readonly MergeRange[]; addImage(img: Image): this; getImages(): readonly Image[]; addCellImage(img: CellImage): this; getCellImages(): readonly CellImage[]; _cellImageVm: Map; getComments(): Array<{ row: number; col: number; comment: import('../core/types.js').Comment; }>; addChart(chart: Chart): this; getCharts(): readonly Chart[]; addConditionalFormat(cf: ConditionalFormat): this; getConditionalFormats(): readonly ConditionalFormat[]; getDataValidations(): ReadonlyMap; addTable(table: Table): this; getTables(): readonly Table[]; addPivotTable(pt: PivotTable): this; getPivotTables(): readonly PivotTable[]; readRange(ref: string): CellValue[][]; readAllCells(): Array<{ row: number; col: number; cell: Cell; }>; getUsedRange(): { startRow: number; startCol: number; endRow: number; endCol: number; } | null; getColumn(col: number): ColumnDef | undefined; getRow(row: number): RowDef | undefined; insertRows(atRow: number, count: number): this; deleteRows(atRow: number, count: number): this; insertColumns(atCol: number, count: number): this; copyRange(srcRef: string, targetRow: number, targetCol: number): this; moveRange(srcRef: string, targetRow: number, targetCol: number): this; sortRange(ref: string, sortCol: number, order?: 'asc' | 'desc'): this; fillNumber(startRow: number, col: number, count: number, startValue?: number, step?: number): this; fillDate(startRow: number, col: number, count: number, startDate: Date, unit?: 'day' | 'week' | 'month' | 'year', step?: number): this; fillList(startRow: number, col: number, list: CellValue[], count: number): this; autoFitColumns(minWidth?: number, maxWidth?: number): this; duplicateRow(sourceRow: number, targetRow: number): this; spliceRows(startRow: number, deleteCount: number, newRows?: CellValue[][]): this; setAutoFilter(ref: string, opts?: { columns?: Array<{ col: number; type: 'custom' | 'top10' | 'value' | 'dynamic'; operator?: string; val?: string | number; top?: boolean; percent?: boolean; items?: string[]; dynamicType?: string; }>; }): this; _filterColumns?: Array<{ col: number; type: string; operator?: string; val?: string | number; top?: boolean; percent?: boolean; items?: string[]; dynamicType?: string; }>; addSparkline(s: Sparkline): this; getSparklines(): readonly Sparkline[]; addDataValidation(sqref: string, dv: DataValidation): this; addRowBreak(row: number, manual?: boolean): this; addColBreak(col: number, manual?: boolean): this; getRowBreaks(): readonly PageBreak[]; getColBreaks(): readonly PageBreak[]; addFormControl(ctrl: FormControl): this; getFormControls(): FormControl[]; addShape(shape: Shape): this; getShapes(): Shape[]; addOleObject(obj: OleObject): this; getOleObjects(): OleObject[]; addWordArt(wa: WordArt): this; getWordArt(): WordArt[]; addQueryTable(qt: QueryTable): this; getQueryTables(): QueryTable[]; addTableSlicer(slicer: TableSlicer): this; getTableSlicers(): TableSlicer[]; addMathEquation(eq: MathEquation): this; getMathEquations(): MathEquation[]; printArea?: string; private ignoreErrors; addIgnoredError(sqref: string, opts: { numberStoredAsText?: boolean; formula?: boolean; formulaRange?: boolean; unlockedFormula?: boolean; evalError?: boolean; twoDigitTextYear?: boolean; emptyRef?: boolean; listDataValidation?: boolean; calculatedColumn?: boolean; }): this; getIgnoredErrors(): { sqref: string; numberStoredAsText?: boolean; formula?: boolean; formulaRange?: boolean; unlockedFormula?: boolean; evalError?: boolean; twoDigitTextYear?: boolean; emptyRef?: boolean; listDataValidation?: boolean; calculatedColumn?: boolean; }[]; addPreservedXml(xml: string): this; freeze(row?: number, col?: number): this; toXml(styles: StyleRegistry, shared: SharedStrings): string; toChartSheetXml(): string; toDialogSheetXml(_styles: StyleRegistry, _shared: SharedStrings): string; private _sheetViewXml; private _colsXml; private _sheetDataXml; private _cellXml; private _mergesXml; private _conditionalFormatXml; private _dataValidationsXml; private _protectionXml; private _pageSetupXml; private _pageMarginsXml; private _headerFooterXml; private _printOptionsXml; private _pageBreaksXml; private _formControlsXml; private _oleObjectsXml; private _sparklineXml; private _customIconExtXml; private _uuid; private _autoFilterXml; private _ignoredErrorsXml; oleRIds: string[]; oleIconRIds: string[]; toDrawingXml(imageRIds: string[], chartRIds: string[]): string; } export {};