import { Deferred, Timeout } from "./util";
import type { Msg, RequestOptions } from "./types";
import { NatsError } from "./error";
import { MuxSubscription } from "./muxsubscription";
export declare class Request {
    token: string;
    received: number;
    deferred: Deferred<Msg>;
    timer: Timeout<Msg>;
    ctx: Error;
    private mux;
    constructor(mux: MuxSubscription, opts?: RequestOptions);
    resolver(err: Error | null, msg: Msg): void;
    cancel(err?: NatsError): void;
}
