import type { BaseEvent } from './Events'; import type { AgentContext } from './context'; import { Subject } from 'rxjs'; import { AgentDependencies } from './AgentDependencies'; type EmitEvent = Omit; export declare class EventEmitter { private eventEmitter; private stop$; constructor(agentDependencies: AgentDependencies, stop$: Subject); emit(agentContext: AgentContext, data: EmitEvent): void; on(event: T['type'], listener: (data: T) => void | Promise): void; off(event: T['type'], listener: (data: T) => void | Promise): void; observable(event: T['type']): import("rxjs").Observable; } export {};