import { Root } from "protobufjs";
export declare abstract class Event<T> {
    protected connection: Root;
    protected channel: any;
    protected payload: T;
    abstract exchange: string;
    constructor(payload: T);
    init(): this;
    protected setup(): void;
    publish<Response>(options?: {}): Promise<Response>;
    protected parseMessage(message: any): any;
}
