import type { ColumnDefine, ListTableConstructorOptions } from '@visactor/vtable'; import { ListTable } from '@visactor/vtable'; import type { IWorkSheetOptions, IWorkSheetAPI, CellCoord, CellRange, CellValue, IFormulaManagerOptions, SheetData } from '../ts-types'; import type { TYPES, VTableSheet } from '..'; import { WorkSheetEventManager } from '../event/worksheet-event-manager'; import type { VTableSheetEventBus } from '../event/vtable-sheet-event-bus'; import type { IWorksheetEventSource } from '../event/event-interfaces'; export type WorkSheetConstructorOptions = { data?: SheetData; formula?: IFormulaManagerOptions; sheetKey: string; sheetTitle: string; } & Omit; export declare class WorkSheet implements IWorkSheetAPI, IWorksheetEventSource { options: IWorkSheetOptions; container: HTMLElement; tableInstance?: ListTable; element: HTMLElement; private selection; private _sheetKey; private _sheetTitle; private eventBus; eventManager: WorkSheetEventManager; private vtableSheet; editingCell: { sheet: string; row: number; col: number; } | null; get sheetKey(): string; getEventBus(): VTableSheetEventBus; get sheetTitle(): string; set sheetTitle(title: string); constructor(sheet: VTableSheet, options: IWorkSheetOptions); get rowCount(): number; get colCount(): number; getRowCount(): number; getColumnCount(): number; get records(): any; get columns(): any; private _createRootElement; private _initializeTable; private _bindKeyboardSelectionVisibility; private _generateTableOptions; _adjustTheme(theme: TYPES.VTableThemes.ITableThemeDefine): TYPES.VTableThemes.ITableThemeDefine; private _setupEventListeners; private handleCellSelected; private handleSelectionChanged; private handleDragSelectEnd; private handleCellValueChanged; private handleDataRecordsChanged; private handleColumnsChanged; private handleChangeHeaderPosition; private handleChangeColumnHeaderPosition; handleChangeRowHeaderPosition(event: any): void; private resizeTimer; private isResizing; resize(): void; private doResize; getElement(): HTMLElement; getContainer(): HTMLElement; getKey(): string; getTitle(): string; setTitle(title: string): void; getColumns(): ColumnDefine[]; getData(): SheetData; private getLeafColumns; private getDataCellByTableCell; private getDataCellValue; private getDataColumnCount; private setDataCellValue; getCopiedData(): any[][]; getCellValue(col: number, row: number): any; getCellValueConsiderFormula(col: number, row: number): any; setCellValue(col: number, row: number, value: any): void; getCellByAddress(address: string): { coord: CellCoord; value: CellValue; }; addressFromCoord(coord: CellCoord): string; addressFromCoord(col: number, row: number): string; coordFromAddress(address: string): CellCoord; getSelection(): CellRange | null; getMultipleSelections(): CellRange[]; setFirstRowAsHeader(): void; updateSheetOption(sheetOption: IWorkSheetOptions): void; processFormulaPaste(formulas: string[][], sourceStartCol: number, _sourceStartRow: number, targetStartCol: number, _targetStartRow: number): string[][]; getCopyData(): (string | number)[][]; pasteData(data: string[][], targetStartCol: number, targetStartRow: number): void; setCellFormula(row: number, col: number, formula: string): void; release(): void; }