import type { ISheetManager, IWorkSheetAPI } from '../ts-types/sheet'; import type { ISheetDefine } from '../ts-types'; import type { VTableSheetEventBus } from '../event/vtable-sheet-event-bus'; export default class SheetManager implements ISheetManager { _sheets: Map; _activeSheetKey: string; private eventBus; constructor(eventBus: VTableSheetEventBus); getEventBus(): VTableSheetEventBus; getActiveSheet(): ISheetDefine | null; setActiveSheet(sheetKey: string): void; addSheet(sheet: ISheetDefine): void; removeSheet(sheetKey: string): string; renameSheet(sheetKey: string, newTitle: string): void; getAllSheets(): ISheetDefine[]; sortSheets(sheets: ISheetDefine[]): void; getSheet(sheetKey: string): ISheetDefine | null; getSheetCount(): number; getSheetAPI(sheetKey: string): IWorkSheetAPI | null; onSheetChange(callback: (sheets: ISheetDefine[]) => void): void; offSheetChange(callback: (sheets: ISheetDefine[]) => void): void; onActiveSheetChange(callback: (sheet: ISheetDefine) => void): void; offActiveSheetChange(callback: (sheet: ISheetDefine) => void): void; reorderSheet(sourceKey: string, targetKey: string, position: 'left' | 'right'): void; }