export type MessageMetadata = { messageId: string; correlationId?: string; replyTo?: string; priority?: number; timestamp: Date; headers?: Record; retryCount?: number; originalChannel?: string; }; export type Message = { readonly metadata: MessageMetadata; readonly payload: TPayload; readonly raw?: unknown; }; export type MessageContext = { ack(): Promise; nack(requeue?: boolean): Promise; reject(): Promise; reply(payload: T): Promise; retry(delay?: number): Promise; }; export type Subscription = { readonly id: string; readonly channel: string; readonly consumerTag?: string; unsubscribe(): Promise; pause(): Promise; resume(): Promise; isActive(): boolean; }; export type MessageHandler = (message: Message, ctx: MessageContext) => Promise | void; export type ResponseHandler = (message: Message, ctx: MessageContext) => Promise | TResponse; //# sourceMappingURL=message.types.d.ts.map