import { UserInfoRead } from "./UserInfoRead";
import { AnonymousUser } from "./AnonymousUser";
import { ReputationUser } from "../ReputationUser";
import { Medal } from "../Medal";
import { UserGroup } from "../UserGroup";
import { CustomLevel } from "../Forum";
export declare class UserContext {
    customLevels?: CustomLevel[];
    userInfo: Map<number, UserInfoRead>;
    anonymousUser: Map<number, AnonymousUser>;
    medals: Map<number, Medal>;
    groups: Map<number, UserGroup>;
    reputationUser?: ReputationUser;
    constructor(raw: any);
    static getReputation(customLevels: CustomLevel[] | undefined, reputationValue: number): {
        label: string;
        value: number;
    } | undefined;
    /**
     * 从数组中取一个随机头像返回
     * @param avatars 头像列表
     */
    static getRandomAvatar(avatars: string[] | undefined): string | undefined;
    /**
     * 获取用户信息
     * @param userId 用户id
     */
    getUserInfo(userId: number): {
        group: UserGroup | undefined;
        reputation: {
            label: string;
            value: number;
        } | undefined;
        anonymous: boolean;
        avatar: string | undefined;
        medals: (Medal | undefined)[] | undefined;
        avatarBuff: import("../../../enums/AvatarBuff").AvatarBuff | undefined;
    } | {
        group: UserGroup | undefined;
        reputation: {
            label: string;
            value: number;
        } | undefined;
        anonymous: boolean;
        avatar: string | undefined;
        medals: (Medal | undefined)[] | undefined;
        avatarBuff: import("../../../enums/AvatarBuff").AvatarBuff | undefined;
        bitData?: number | undefined;
        credit?: number | undefined;
        nickname?: string | undefined;
        userForum?: string | undefined;
        latestVisit?: Date | undefined;
        accountStatus: import("../../../enums/AccountStatus").AccountStatus;
        buffs?: import("./UserBuff").UserBuff[] | undefined;
        groupId?: number | undefined;
        honor?: import("../Honor").Honor | undefined;
        medal?: number[] | undefined;
        memberId?: number | undefined;
        money: import("../Money").Money;
        regDatetime?: Date | undefined;
        postCount?: number | undefined;
        prestige?: number | undefined;
        signature?: string | null | undefined;
        signatureNodes: import("../../../bbscode/BbsTag").BbsTag[] | undefined;
        userId: number;
        username: string;
        avatars?: string[] | undefined;
    } | {
        group: UserGroup | undefined;
        reputation: {
            label: string;
            value: number;
        } | undefined;
        anonymous: boolean;
        avatar: string | undefined;
        medals: (Medal | undefined)[] | undefined;
        avatarBuff: import("../../../enums/AvatarBuff").AvatarBuff | undefined;
        bitData: number;
        buffs?: import("./UserBuff").UserBuff[] | undefined;
        /**
         * 从上下文中取出徽章数据
         * @param medalId
         * @param userContext
         */
        groupId: number;
        memberId: number;
        userId: number;
        username: string;
        nickname: string;
    } | undefined;
}
