import { BentoOptions } from '../../Bento'; export declare type ComponentEventHandler = (...args: Array) => void; export interface ComponentEventSubscription { name: string; handler: ComponentEventHandler; } export declare class ComponentEvents { private readonly name; private readonly emitter; private readonly subject; private subCount; private readonly subscriptions; private readonly options; constructor(name: string, options: BentoOptions); /** * Emit Event * @param name Event name * @param args Event args */ emit(name: string, ...args: Array): void; /** * Emit Event and store as subject * @param name Event name * @param args Event args */ emitSubject(name: string, ...args: Array): void; /** * Purges subject data for event * @param name Event name */ purgeSubject(name: string): void; subscribe(name: string, handler: ComponentEventHandler, context?: any): number; unsubscribe(id?: number): void; }