import { type WorkSheetEventMap } from '../ts-types/spreadsheet-events';
import { BaseEventManager } from './base-event-manager';
import type { IWorksheetEventSource } from './event-interfaces';
export declare class WorkSheetEventManager extends BaseEventManager<WorkSheetEventMap> {
    private worksheet;
    constructor(worksheet: IWorksheetEventSource);
    protected getEventTypes(): string[];
    on<K extends keyof WorkSheetEventMap>(type: K, callback: (event: WorkSheetEventMap[K]) => void): void;
    off<K extends keyof WorkSheetEventMap>(type: K, callback?: (event: WorkSheetEventMap[K]) => void): void;
    emit<K extends keyof WorkSheetEventMap>(type: K, event: WorkSheetEventMap[K]): void;
    emitFormulaCalculateStart(formulaCount?: number): void;
    emitFormulaCalculateEnd(formulaCount?: number, duration?: number): void;
    emitFormulaError(cell: {
        row: number;
        col: number;
        sheet: string;
    }, formula: string, error: string | Error): void;
    emitFormulaDependencyChanged(): void;
    emitFormulaAdded(cell: {
        row: number;
        col: number;
    }, formula?: string): void;
    emitFormulaRemoved(cell: {
        row: number;
        col: number;
    }, formula?: string): void;
    emitDataLoaded(rowCount: number, colCount: number): void;
}
