import { DomainEvent } from './domain-event'; export declare namespace chatEvents { abstract class ChatEvent implements DomainEvent { readonly eventId: string; readonly tag: string; readonly __discriminator__ = "domainEvent"; protected constructor(eventId: string, tag: string); } interface NormalizedEvent { readonly id: string; readonly authorId: string; readonly channelId: string; readonly tag: string; readonly data: any; readonly timestamp: number; } class Received extends ChatEvent { static readonly tag = "chat_received"; readonly message: NormalizedEvent; readonly ref?: string; constructor(eventId: string, message: NormalizedEvent, ref?: string); static isReceived(event: DomainEvent): event is Received; } }