import { FormulaManager } from '../managers/formula-manager'; import SheetManager from '../managers/sheet-manager'; import { WorkSheet } from '../core/WorkSheet'; import type { IVTableSheetOptions, IVTableSheetUpdateOptions, ISheetDefine, SheetData } from '../ts-types'; import type { MultiSheetImportResult } from '@visactor/vtable-plugins'; import type { TableEventHandlersEventArgumentMap } from '@visactor/vtable/es/ts-types/events'; import { FormulaUIManager } from '../formula/formula-ui-manager'; import type { VTableSheetEventType } from '../ts-types/spreadsheet-events'; import { SpreadSheetEventManager } from '../event/spreadsheet-event-manager'; import { VTableSheetEventBus } from '../event/vtable-sheet-event-bus'; import { WorkbookHistoryManager } from '../managers/workbook-history-manager'; export default class VTableSheet { private container; private options; private sheetManager; formulaManager: FormulaManager; private eventManager; private menuManager; private activeWorkSheet; workSheetInstances: Map; private formulaAutocomplete; private tableEventRelay; private spreadsheetEventManager; private eventBus; formulaUIManager: FormulaUIManager; private rootElement; private formulaBarElement; private sheetTabElement; private mainMenuElement; private undoRedoElement; private contentElement; private dragManager; private sheetTabEventHandler; private workbookHistoryManager; constructor(container: HTMLElement, options: IVTableSheetOptions); private mergeDefaultOptions; private initFormulaAutocomplete; private initUI; private renderTopLeftControls; private createSheetTab; private _activeSheetTab; updateSheetTabs(tabsContainer?: HTMLElement): void; private createSheetTabItem; updateSheetMenu(): void; private initSheets; activateSheet(sheetKey: string): void; addSheet(sheet: ISheetDefine): void; removeSheet(sheetKey: string): void; getSheetCount(): number; getSheet(sheetKey: string): ISheetDefine | null; getAllSheets(): ISheetDefine[]; createWorkSheetInstance(sheetDefine: ISheetDefine): WorkSheet; private loadFormulas; private parseCellKey; private restoreFilterState; private _addNewSheet; private updateFormulaBar; getFormulaManager(): FormulaManager; getSpreadSheetEventManager(): SpreadSheetEventManager; getEventBus(): VTableSheetEventBus; getSheetManager(): SheetManager; getWorkbookHistoryManager(): WorkbookHistoryManager; getActiveSheet(): WorkSheet | null; getWorkSheetInstance(sheetKey: string): WorkSheet | undefined; setWorkSheetInstance(sheetKey: string, instance: WorkSheet): void; deleteWorkSheetInstance(sheetKey: string): void; renameSheet(sheetKey: string, newTitle: string): void; reorderSheet(sourceKey: string, targetKey: string, position: 'left' | 'right'): void; undo(): void; redo(): void; startHistoryTransaction(): void; endHistoryTransaction(): void; onTableEvent(type: K, callback: (event: TableEventHandlersEventArgumentMap[K] & { sheetKey: string; }) => void): void; offTableEvent(type: string, callback?: (...args: any[]) => void): void; onSheetEvent(type: string, callback: (event: any) => void): void; offSheetEvent(type: string, callback?: (event: any) => void): void; on(type: VTableSheetEventType, callback: (event: any) => void): void; off(type: VTableSheetEventType, callback?: (event: any) => void): void; getSheetByName(sheetName: string): WorkSheet | null; getWorkSheetByKey(sheetKey: string): WorkSheet | null; saveToConfig(): IVTableSheetOptions; updateMainMenu(mainMenu: IVTableSheetOptions['mainMenu']): void; updateOption(options: IVTableSheetUpdateOptions): void; private updateSheets; exportSheetToFile(fileType: 'csv' | 'xlsx', allSheets?: boolean): void; exportAllSheetsToExcel(): void; initAllSheetInstances(): void; importFileToSheet(options?: { clearExisting?: boolean; }): Promise; getContainer(): HTMLElement; getRootElement(): HTMLElement; getOptions(): IVTableSheetOptions; getFormulaBarElement(): HTMLElement | null; getSheetTabElement(): HTMLElement | null; getContentElement(): HTMLElement; release(): void; exportData(sheetKey: string): SheetData; exportAllData(): SheetData[]; resize(): void; }