import type { IMessage } from './IMessage.ts'; import type { IMessageMeta } from './IMessageMeta.ts'; export interface IMessageHandler { (message: IMessage, meta?: IMessageMeta): unknown | Promise; } export interface IObservable { /** * Setup a listener for a specific event type */ on(type: string, handler: IMessageHandler): void; /** * Remove previously installed listener */ off(type: string, handler: IMessageHandler): void; } export declare const isObservable: (obj: unknown) => obj is IObservable;