import type { EventEmitter as EventEmitterType } from '@visactor/vutils';
export interface EventBusOptions {
    enableErrorBoundary?: boolean;
    enablePerformanceMonitoring?: boolean;
    maxListeners?: number;
}
export declare class VTableSheetEventBus {
    private eventBus;
    private options;
    private performanceMetrics;
    private wrappedCallbacks;
    constructor(options?: EventBusOptions);
    on(eventType: string, callback: (...args: any[]) => void): void;
    off(eventType: string, callback?: (...args: any[]) => void): void;
    emit(eventType: string, ...args: any[]): void;
    once(eventType: string, callback: (...args: any[]) => void): void;
    removeAllListeners(eventType?: string): void;
    listenerCount(eventType: string): number;
    getPerformanceMetrics(eventType?: string): Map<string, number[]>;
    getEventEmitter(): EventEmitterType;
    private createErrorBoundary;
    private recordPerformanceMetric;
}
