import { CodemaoUserSex } from "./codemao-user-sex";
import { CodemaoUserBadge } from "./codemao-user-badge";
/**
 * 用户信息对象。
 */
export type CodemaoUserInfoObject = {
    authorization?: string | null | undefined;
    id?: number;
    username?: string;
    nickname?: string;
    realname?: string;
    avatarURL?: string;
    coverURL?: string;
    description?: string;
    doing?: string;
    email?: string;
    badge?: CodemaoUserBadge;
    grade?: number;
    birthday?: Date;
    sex?: CodemaoUserSex;
    viewTimes?: number;
    praiseTimes?: number;
    collectTimes?: number;
    forkTimes?: number;
};
/**
 * 编程猫用户信息类。
 *
 * - 用于获取编程猫用户信息。
 * - 所有属性均为`Promise`对象，当属性获取失败时访问该属性的值会被拒绝。
 *
 * 提供的用户信息详见类属性。
 *
 * ### 具有以下特性：
 * - 集成多个API接口，以确保在部分API接口信息获取失败时仍能提供尽可能完整的用户信息。
 * - 内置懒加载和缓存机制，以减少不必要的请求。
 *
 * ### 集成API接口
 *
 * #### 已经集成的API接口
 * - {@link getUserProfile}
 * - {@link getThisUserDetail}
 * - {@link getUserDetail}
 * - {@link getUserHonor}
 *
 * #### 将来可能集成的API接口：
 * - {@link searchUserByName}
 *
 * #### API优先级：
 * {@link getUserProfile} > {@link getThisUserDetail} > {@link getUserDetail} > {@link getUserHonor}
 */
export declare class CodemaoUserInfo {
    private __profile?;
    private __thisDetail?;
    private __detail?;
    private __honor?;
    private get profile();
    private get thisDetail();
    private get detail();
    private get honor();
    private __authorization?;
    private __id?;
    private __username?;
    private __nickname?;
    private __realname?;
    private __avatarURL?;
    private __coverURL?;
    private __description?;
    private __doing?;
    private __email?;
    private __badge?;
    private __grade?;
    private __birthday?;
    private __sex?;
    private __viewTimes?;
    private __praiseTimes?;
    private __collectTimes?;
    private __forkTimes?;
    /**
     * 身份信息。
     */
    get authorization(): Promise<string | null | undefined>;
    /**
     * 用户ID。
     */
    get id(): Promise<number>;
    /**
     * 用户名，用户名可以用于登录编程猫账号。如果用户没有设置用户名，则返回空字符串。
     */
    get username(): Promise<string>;
    /**
     * 用户昵称。
     */
    get nickname(): Promise<string>;
    /**
     * 用户真实姓名。如果用户没有填写真实姓名，则返回空字符串。
     */
    get realname(): Promise<string>;
    /**
     * 用户头像地址。
     */
    get avatarURL(): Promise<string>;
    /**
     * 用户背景图片地址。
     */
    get coverURL(): Promise<string>;
    /**
     * 用户描述。
     */
    get description(): Promise<string>;
    /**
     * 用户正在做什么。
     */
    get doing(): Promise<string>;
    /**
     * 用户邮箱地址。
     */
    get email(): Promise<string>;
    /**
     * 用户创作者勋章。
     */
    get badge(): Promise<CodemaoUserBadge>;
    /**
     * 用户等级。
     */
    get grade(): Promise<number>;
    /**
     * 用户生日。
     */
    get birthday(): Promise<Date>;
    /**
     * 用户性别。详见 {@link CodemaoUserSex}。
     */
    get sex(): Promise<CodemaoUserSex>;
    /**
     * 用户所有作品被浏览的次数总和。
     */
    get viewTimes(): Promise<number>;
    /**
     * 用户所有作品被点赞的次数总和。
     */
    get praiseTimes(): Promise<number>;
    /**
     * 用户所有作品被收藏的次数总和。
     */
    get collectTimes(): Promise<number>;
    /**
     * 用户所有作品被再创作的次数总和。
     */
    get forkTimes(): Promise<number>;
    /**
     * @param info 已知的用户信息，如果什么信息都不提供，则表示表示当前登录的用户。
     */
    constructor(info: CodemaoUserInfoObject);
    setCache(info: CodemaoUserInfoObject): void;
}
