import { Message, Stan } from "node-nats-streaming"; import { Event } from "./events"; export declare abstract class Listener { abstract subject: E["subject"]; abstract queueGroupName: string; protected client: Stan; protected ackWait: number; abstract onMessage: (data: E["data"], msg: Message) => void; constructor(client: Stan); subscriptionOptions(): import("node-nats-streaming").SubscriptionOptions; listen(): void; parseMessage(msg: Message): E["data"]; }