import Dexie from "dexie";
import { UserInfoItem } from "../service/api/getUserListInfo";
export declare const FriendsStatus: {
    stranger: number;
    friends: number;
    friendsForMe_strangerForYou: number;
    strangerForMe_friendsForYou: number;
};
export declare type IMember = {
    id: string;
    name?: string;
    tmm_id?: string;
    isSetTmmId?: number;
    avatar?: string | undefined;
    avatarPath?: string;
    isFriend?: number;
    friendAlias?: string;
    isStar?: number;
    phone?: string;
    signature?: string;
    gender?: number;
    viewDetail?: number;
    firstName?: string;
    lastName?: string;
    status?: number;
    regionId?: string;
};
declare type UpdateMemberProps = Partial<IMember>;
declare class Member {
    private db?;
    private userId?;
    private store?;
    static authorize: boolean;
    readonly Event: {
        MemberInfoChanged: string;
        MyInfoChange: string;
    };
    init(db: Dexie): void;
    tempUpdate(info: IMember): void;
    filterExistByUid(uids: string[]): import("dexie").PromiseExtended<IMember[]> | undefined;
    getUnExistIdsByUid(uids: string[]): Promise<string[]>;
    bulkPutMemberInfo(member: IMember[]): import("dexie").PromiseExtended<void> | undefined;
    checkAvatarCache(id: string, avatar: string): Promise<void>;
    modifyMemberInfo(id: string, modifyInfos: IMember): Promise<void>;
    updateMemberInfo(id: string, updateInfo: UpdateMemberProps): Promise<void>;
    getMemberById(id: string, isSync?: boolean): Promise<any>;
    getMemberByIds(ids: string[]): Promise<IMember[]>;
    getAllMyFriends(): Promise<IMember[]>;
    queryByKeyWords(value: string, key: keyof IMember): Promise<IMember[]>;
    queryByName(value: string): Promise<IMember[]>;
    isStrangeRelation(user: IMember): boolean;
    isOfficialAccount(item: IMember): boolean;
    assetsSessionHide(item: IMember): boolean;
    noExistMember(member: any): boolean;
    handlePublish(members: IMember[]): void;
    addMemberInto(dataItem: UserInfoItem): void;
    friendInfoTransfer: (items: UserInfoItem) => IMember;
}
declare const model: Member;
export default model;
