import { PadplusContactPayload, PadplusRoomPayload, PadplusRoomInvitationPayload, PadplusRoomMemberMap } from '../schemas';
import { FriendshipPayload } from 'wechaty-puppet';
export declare class CacheManager {
    /**
     * ************************************************************************
     *                Static Methods
     * ************************************************************************
     */
    private static _instance?;
    static get Instance(): CacheManager;
    static init(userId: string): Promise<void>;
    static release(): Promise<void>;
    /**
     * ************************************************************************
     *                Instance Methods
     * ************************************************************************
     */
    private cacheWXID?;
    private cacheContactRawPayload?;
    private cacheRoomMemberRawPayload?;
    private cacheRoomRawPayload?;
    private cacheRoomInvitationRawPayload?;
    private cacheFriendshipRawPayload?;
    /**
     * -------------------------------
     * Account-WXID Section
     * --------------------------------
     */
    getAccountWXID(account: string): Promise<string | undefined>;
    setAccountWXID(account: string, wxid: string): Promise<void>;
    /**
     * -------------------------------
     * Contact Section
     * --------------------------------
     */
    getContact(contactId: string): Promise<PadplusContactPayload | undefined>;
    setContact(contactId: string, payload: PadplusContactPayload): Promise<void>;
    deleteContact(contactId: string): Promise<void>;
    getContactIds(): Promise<string[]>;
    getAllContacts(): Promise<PadplusContactPayload[]>;
    hasContact(contactId: string): Promise<boolean>;
    getContactCount(): Promise<number>;
    /**
     * -------------------------------
     * Room Section
     * --------------------------------
     */
    getRoom(roomId: string): Promise<PadplusRoomPayload | undefined>;
    setRoom(roomId: string, payload: PadplusRoomPayload): Promise<void>;
    deleteRoom(roomId: string): Promise<void>;
    getRoomIds(): Promise<string[]>;
    getRoomCount(): Promise<number>;
    hasRoom(roomId: string): Promise<boolean>;
    /**
     * -------------------------------
     * Room Member Section
     * --------------------------------
     */
    getRoomMember(roomId: string): Promise<PadplusRoomMemberMap | undefined>;
    setRoomMember(roomId: string, payload: PadplusRoomMemberMap): Promise<void>;
    deleteRoomMember(roomId: string): Promise<void>;
    /**
     * -------------------------------
     * Room Invitation Section
     * -------------------------------
     */
    getRoomInvitation(messageId: string): Promise<PadplusRoomInvitationPayload | undefined>;
    setRoomInvitation(messageId: string, payload: PadplusRoomInvitationPayload): Promise<void>;
    deleteRoomInvitation(messageId: string): Promise<void>;
    /**
     * -------------------------------
     * Friendship Cache Section
     * --------------------------------
     */
    getFriendshipRawPayload(id: string): Promise<import("wechaty-puppet").FriendshipPayloadConfirm | import("wechaty-puppet").FriendshipPayloadReceive | import("wechaty-puppet").FriendshipPayloadVerify | undefined>;
    setFriendshipRawPayload(id: string, payload: FriendshipPayload): Promise<void>;
    /**
     * -------------------------------
     * Private Method Section
     * --------------------------------
     */
    private initCache;
    private releaseCache;
}
//# sourceMappingURL=cache-manager.d.ts.map