import { EWampMessageID } from '../types/messages/MessageTypes';
import type { WampID } from '../types/messages/MessageTypes';
import type { WampMessage } from '../types/Protocol';
declare class PendingMap<TSucMsg extends WampMessage> {
    private initMsg;
    private successMsg;
    private emptyRequest?;
    private _pendings;
    private _closed;
    constructor(initMsg: EWampMessageID, successMsg: EWampMessageID, emptyRequest?: ((msg: TSucMsg) => [boolean, string]) | undefined);
    add(id: WampID): Promise<TSucMsg>;
    reject(pendingId: WampID, err?: any): void;
    close(): void;
    handle(msg: WampMessage): [boolean, boolean, string];
    private getAndDelete;
}
export default PendingMap;
