import { ObjectBase } from "../../bases/object-base"; export declare class EventBus extends ObjectBase { protected static instance: EventBus | null; private objects; private eventEmitter; private lastEmittedEvents; static getName(): string; static getInstance(): EventBus; static get $(): EventBus; getObjectNames(): string[]; getEventNames(): void; getEventName(objectName: string, methodName: string): string; on(objectName: string, methodName: string, callback: (...args: any[]) => void): void; /** * Function onCalledBeforeDoInvoke(): The difference between this function and on() * is that this function will call the callback if the event already happened. */ onCalledBeforeDoInvoke(objectName: string, methodName: string, callback: (...args: any[]) => void): void; off(objectName: string, methodName: string, callback: (...args: any[]) => void): void; register(object: T, methods: Function[]): void; registerMultiInstances(object: T, methods: Function[]): void; unregister(objectName: string): false | undefined; private unhookObject; private unhook; private emit; private hook; private ensureFunction; }