import { Express } from 'express'; interface BaseEventControllerOptions { serverUrl: string; ignore?: (name: string, data: any) => boolean; [key: string]: any; } declare abstract class BaseEventController { readonly name: string; protected readonly serverUrl: string; private readonly emitter; private readonly ignore; protected constructor(options: BaseEventControllerOptions); abstract init(app: Express): Promise; destroy(): Promise; abstract action(name: string, args: any): Promise; on(name: string, listener: (data: any, meta?: any) => void): void; off(name: string, listener: (data: any, meta?: any) => void): void; emit(name: string, data: any): void; } export { BaseEventControllerOptions, BaseEventController, };