import Dexie from "dexie";
import { Switch } from "./types";
export declare type GroupMembers = {
    id?: number;
    gid: string;
    uid: string;
    alias: string;
    isOwner: Switch;
    isAdmin: Switch;
    deleted: boolean;
    createTime: number;
    adminTime?: number;
};
declare class GMembers {
    private db?;
    private userId?;
    private store?;
    static authorize: boolean;
    Event: {
        MemberInfoChanged: string;
    };
    Tag: {
        UPDATE: number;
    };
    init(db: Dexie): void;
    getAlias(groupId: string, uid: string): Promise<string>;
    bulkPut(list: GroupMembers[], gid: string): void;
    modifyMemberInfo(gid: string, uid: string, changes: {
        [key in keyof GroupMembers]?: GroupMembers[key];
    }): void;
    getGroupMembers(gid: string, isRefresh?: boolean): Promise<GroupMembers[]>;
    getGroupMember(gid: string, uid: string): Promise<{}>;
    getBulkGroupMember(gid: string, uidList: string[]): Promise<GroupMembers[] | undefined>;
    getGroupMembersCount(gid: string): Promise<number>;
    getUnKickedGroup(id: string): Promise<GroupMembers[]>;
    queryByKeyWords(value: string, key: keyof GroupMembers): Promise<GroupMembers[]>;
    handlePublish(groupMembers: GroupMembers[], gid: string, tag?: number): void;
}
declare const self: GMembers;
export default self;
