import { ConcreteType } from '@cashfarm/lang'; import { IDomainEvent } from '../domain/domainEvent'; export declare const IEventBus: symbol; export interface IEventBus { subscribe(evt: IDomainEvent & ConcreteType<{}>, handler: Object): void; unsubscribe(evt: IDomainEvent & ConcreteType<{}>, handler: Object): void; publish(event: IDomainEvent): void; }