import type { WorkSheetEventManager } from './worksheet-event-manager';
import type { FormulaErrorEvent } from '../ts-types/spreadsheet-events';
export declare class FormulaEventUtils {
    static onFormulaErrorWithUserFeedback(eventManager: WorkSheetEventManager, errorHandler: (error: FormulaErrorEvent) => void): void;
    static onFormulaPerformanceMonitoring(eventManager: WorkSheetEventManager, threshold?: number): void;
    static setupFormulaEventListeners(eventManager: WorkSheetEventManager, listeners: {
        onFormulaAdded?: (cell: {
            row: number;
            col: number;
        }, formula?: string) => void;
        onFormulaRemoved?: (cell: {
            row: number;
            col: number;
        }, formula?: string) => void;
        onFormulaError?: (event: FormulaErrorEvent) => void;
        onFormulaCalculateStart?: (formulaCount?: number) => void;
        onFormulaCalculateEnd?: (formulaCount?: number, duration?: number) => void;
        onFormulaDependencyChanged?: () => void;
    }): void;
    static createFormulaProgressTracker(eventManager: WorkSheetEventManager, onProgress?: (progress: number, total: number) => void): {
        start: () => void;
        end: () => void;
    };
    static createFormulaErrorCollector(eventManager: WorkSheetEventManager): {
        getErrors: () => FormulaErrorEvent[];
        clear: () => void;
        start: () => void;
        end: () => void;
    };
}
