import { SimpleUserInfo } from "../field/user/SimpleUserInfo";
import { PrivateMessageStatus } from "../../enums/PrivateMessageStatus";
import { UserContext } from "../field/user/UserContext";
/**
 * 私信
 */
export declare class PmListBody {
    page: number;
    hasNext: boolean;
    size: number;
    data: PrivateMessage[];
    constructor(raw: PmListRaw);
}
export interface PmListRaw {
    currentPage: number;
    nextPage: boolean;
    rowsPerPage: number;
}
export declare class PrivateMessage {
    /**
     *  消息id
     */
    messageId: number;
    /**
     *  bit
     */
    bit: number;
    /**
     *  标题
     */
    title: string;
    /**
     *  发起时间
     */
    timeCreated: Date;
    /**
     *  最后更新时间
     */
    lastModify: Date;
    /**
     *  回复数
     */
    postCount: number;
    /**
     *  发起人uid
     */
    fromUid: number;
    /**
     *  发起人用户名
     */
    fromUsername: string;
    /**
     *  最后回复的uid
     */
    lastReplyUid: number;
    /**
     *  最后回复的用户名
     */
    lastReplyUsername: string;
    /**
     *  所有参与的用户
     */
    users: SimpleUserInfo[];
    /**
     * 会话状态
     */
    status: PrivateMessageStatus[];
    /**
     * 是否为未读
     */
    unread: boolean;
    constructor(raw: PrivateMessageRaw);
}
export declare const parseUsers: (s?: string) => SimpleUserInfo[];
export declare const parseStatus: (bit: number) => PrivateMessageStatus[];
export interface PrivateMessageRaw {
    mid: number;
    bit: number;
    subject: string;
    time: number;
    last_modify: number;
    posts: number;
    from: number;
    from_username: string;
    last_from: number;
    last_from_username: string;
    all_user?: string;
}
/**
 * 私信会话详情
 */
export declare class PmReplyBody {
    /**
     * 私信回复
     */
    data: PrivateMessageReply[];
    /**
     * 长度
     */
    length: number;
    /**
     * 是否还有下一页
     */
    hasNext: boolean;
    /**
     * 发起私信的用户uid
     */
    starterUid: number;
    /**
     * 所有参与的用户
     */
    users: SimpleUserInfo[];
    /**
     * 当前页
     */
    page: number;
    /**
     * 用户信息
     */
    userInfo: UserContext;
    /**
     * bit
     */
    bit: number;
    /**
     * 会话状态
     */
    status: PrivateMessageStatus[];
    constructor(raw: PmReplyBodyRaw);
}
export interface PmReplyBodyRaw {
    allUsers?: string;
    currentPage: number;
    length: number;
    nextPage: boolean;
    starterUid: number;
    subjectBit: number;
    userInfo: any;
}
/**
 * 私信回复
 */
export declare class PrivateMessageReply {
    id: number;
    title: string | undefined;
    content: string;
    userId: number;
    timestamp: Date;
    contentNodes: import("../../bbscode/BbsTag").BbsTag[];
    constructor(raw: PrivateMessageReplyRaw);
}
export interface PrivateMessageReplyRaw {
    id: number;
    subject?: string;
    content: string;
    from: number;
    time: number;
}
