import { StreamResponse } from '../server-manager/proto-ts/PadPlusServer_pb';
import { PadplusContactPayload, PadplusRoomPayload, PadplusRoomMemberMap } from '../schemas';
export declare class CallbackPool {
    private static _instance?;
    private constructor();
    static get Instance(): CallbackPool;
    private poolMap;
    private contactRequestMap;
    private contactAliasMap;
    private roomTopicMap;
    private acceptFriendMap;
    private roomMemberMap;
    pushCallbackToPool(requestId: string, callback: (data: StreamResponse) => void): void;
    getCallback(requestId: string): (data: StreamResponse) => void;
    removeCallback(requestId: string): void;
    pushContactCallback(contactId: string, callback: (data: PadplusContactPayload | PadplusRoomPayload) => void): void;
    resolveContactCallBack(contactId: string, data: PadplusContactPayload): void;
    resolveRoomCallBack(roomId: string, data: PadplusRoomPayload): void;
    pushContactAliasCallback(contactId: string, alias: string, callback: () => void): void;
    private resolveContactAliasCallback;
    pushRoomTopicCallback(roomId: string, topic: string, callback: () => void): void;
    private resolveRoomTopicCallback;
    pushAcceptFriendCallback(contactId: string, callback: () => void): void;
    private resolveAcceptFriendCallback;
    pushRoomMemberCallback(roomId: string, callback: (memberList: PadplusRoomMemberMap) => void): void;
    resolveRoomMemberCallback(roomId: string, memberList: PadplusRoomMemberMap): void;
}
//# sourceMappingURL=callbackHelper.d.ts.map