import { Event as BaseEvent, Channel } from "../../../../core";
export declare abstract class Event<T> extends BaseEvent<T> {
    readonly correlationId: string;
    constructor(payload: T);
    setup(channel: Channel): void;
    publish<Response>(options?: {}): Promise<Response>;
    publishWithoutPersistence<Response>(options?: {}): Promise<Response>;
    get queue(): string;
    get exclusiveQueue(): string;
    protected uniqueId(): string;
    protected parseMessage(msg: any): any;
    protected close(): Promise<any>;
}
