import { TZMQResponseErrorHandlers } from "./Errors";
export declare const RESPONSE_CACHE_EXPIRED: string;
export declare class ZMQResponse {
    private readonly mCachedRequests;
    private readonly mEndpoint;
    private readonly mErrorHandlers;
    private readonly mRequestHandler;
    private mRouter;
    private mSafeToSend;
    private readonly mSeenMessages;
    private readonly mSendQueue;
    constructor(aReplierEndpoint: string, aReceiver: (aRequest: string) => Promise<string>, aErrorHandlers?: TZMQResponseErrorHandlers);
    get Endpoint(): string;
    private static GetCacheId;
    private HandleDuplicateRequest;
    private HandleNewRequest;
    private HandleRequest;
    private HandleZMQSendError;
    private InitRequesterIfEmpty;
    private Open;
    private ProcessSend;
    private QueueSend;
    private ReceiveLoop;
    private UnseenRequest;
    private UpdateSeenMessages;
    Close(): void;
}
