import { NotificationType, ForumMode, PostStatus } from "./community.enums"; /** spell-checker:ignore antispam */ export interface Forum { /** 版块 id */ forum_id: number; /** 版块图标 */ icon_url: string; /** 版块名称 */ name: string; /** 版块标签 */ tags: string[]; /** 版块排序权重, 数值越大排序越靠前 */ sort: number; /** 发帖模式 */ mode: ForumMode; /** 指定可发帖的用户 id */ member_ids: number[]; } export declare const ForumValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface Topic { /** 话题 ID */ topic_id: number; /** 话题图标,可能是空字符串 */ cover_url: string; /** 话题名称 */ name: string; /** 话题描述 */ description: string; /** 话题标签 */ tags: string[]; /** 话题下帖子数量 */ post_num: number; } export declare const TopicValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface Post { /** 帖子 ID */ post_id: number; /** 版块信息 */ forum: Forum; /** 帖子发布者的 ID */ posted_by: string; /** 帖子发布者的昵称 */ nickname: string; /** 帖子发布者的头像 */ avatar_url: string; /** 帖子标题 */ title?: string; /** 帖子内容,富文本 HTML 格式 */ content: string; /** 帖子内容纯文本长度,不含 html 标签部分 */ content_text_count: number; /** 帖子内容,纯文本格式 */ summary: string; /** 点赞数量 */ like_num: number; /** 评论数量 */ comments_num: number; /** 当前用户是否点赞 */ liked: boolean; /** 帖子图片地址 */ image_urls: string[]; /** 帖子关联话题 */ topics: Topic[]; /** 帖子关联活动 ids */ event_ids: number[]; /** 帖子是否置顶 */ is_pinned: boolean; /** 帖子是否标精 */ is_highlighted: boolean; /** 帖子状态 */ status: PostStatus; /** 帖子发布时间 */ create_time: number; } export declare const PostValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface Antispam { /** 安全检测返回异常提示 */ err_msg?: string; } export declare const AntispamValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface ReplyTo { /** 回复 ID */ reply_id: number; /** 回复内容 */ reply_content?: string; /** 回复者的 ID */ replied_by: string; /** 回复者的昵称 */ nickname: string; /** 回复者的头像 */ avatar_url: string; } export declare const ReplyToValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface Reply { /** 回复 ID */ reply_id: number; /** 评论 ID */ comment_id: number; /** 评论内容 */ comment_content?: string; /** 评论发布者的 ID */ commented_by?: string; /** 评论发布者的昵称 */ commented_by_nickname?: string; /** 评论发布者的头像 */ commented_by_avatar_url?: string; /** 回复者的 ID */ replied_by: string; /** 回复者的昵称 */ nickname: string; /** 回复者的头像 */ avatar_url: string; /** 回复内容 */ content: string; /** 点赞数量 */ like_num: number; /** 当前用户是否点赞 */ liked: boolean; /** 回复的目标 */ reply_to: ReplyTo; /** 回复发布时间 */ create_time: number; } export declare const ReplyValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface Comment { /** 评论 ID */ comment_id: number; /** 帖子 ID */ post_id: number; /** 帖子标题 */ post_subject?: string; /** 帖子概要 */ post_summary?: string; /** 帖子的首张图片地址 */ post_image_url?: string; /** 帖子发布者的 ID */ posted_by?: string; /** 帖子发布者的昵称 */ posted_by_nickname?: string; /** 帖子发布者的头像 */ posted_by_avatar_url?: string; /** 评论发布者的 ID */ commented_by: string; /** 评论发布者的昵称 */ nickname: string; /** 评论发布者的头像 */ avatar_url: string; /** 评论内容 */ content: string; /** 点赞数量 */ like_num: number; /** 回复数量 */ reply_num: number; /** 当前用户是否点赞 */ liked: boolean; /** 评论图片地址 */ image_url: string; /** 评论发布时间 */ create_time: number; /** 评论状态 */ status: PostStatus; /** 评论下最新两条回复 */ replies?: Reply[]; } export declare const CommentValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface PresignedUrlResponse { /** 资源文件的真实地址 */ image_url: string; /** 媒体文件临时上传地址(有效期 5min) */ upload_url: string; /** 媒体文件是否已存在,已存在无需上传 */ existed: boolean; } export declare const PresignedUrlResponseValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface NotificationBase { /** 通知的 ID */ notification_id: string; /** 通知类型 */ notification_type: NotificationType; /** 通知是否已读 */ is_read: boolean; /** 通知产生时间 */ create_time: number; /** 触发通知的用户 ID,系统管理员 ID 为 "0" */ origin_user_id: string; /** 触发通知的用户昵称,如果是系统管理员也会包含此字段,会使用系统配置中管理员的信息 */ origin_user_name: string; /** 触发通知的用户头像 */ origin_user_avatar_url: string; } export declare const NotificationBaseValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface NotificationPayloadSystem { /** 系统通知的标题 */ system_message_subject: string; /** 系统通知的内容 */ system_message_content: string; } export declare const NotificationPayloadSystemValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface NotificationPayloadPost { /** 帖子 ID */ post_id: number; /** 帖子标题 */ post_subject: string; /** 帖子概要 */ post_summary: string; /** 帖子的首张图片地址 */ post_image_url: string; } export declare const NotificationPayloadPostValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface NotificationPayloadComment { /** 评论 ID */ comment_id: number; /** 评论内容 */ comment_content: string; } export declare const NotificationPayloadCommentValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface NotificationPayloadReply { /** 回复 ID */ reply_id: number; /** 回复内容 */ reply_content: string; } export declare const NotificationPayloadReplyValidator: import("@seayoo-web/validator").ObjectValidator & { plain: never; optional: never; maybeNull: never; lock: never; }; export interface NotificationSystem extends NotificationBase, NotificationPayloadSystem { notification_type: typeof NotificationType.System; } export declare const NotificationSystemValidator: import("@seayoo-web/validator").ObjectValidator; export interface NotificationPost extends NotificationBase, NotificationPayloadPost { notification_type: typeof NotificationType.PostPinned | typeof NotificationType.PostHighlighted | typeof NotificationType.PostDeleted | typeof NotificationType.PostLiked; } export declare const NotificationPostValidator: import("@seayoo-web/validator").ObjectValidator; export interface NotificationPostComment extends NotificationBase, NotificationPayloadPost, NotificationPayloadComment { notification_type: typeof NotificationType.PostCommented; } export declare const NotificationPostCommentValidator: import("@seayoo-web/validator").ObjectValidator; export interface NotificationCommentReply extends NotificationBase, NotificationPayloadComment, NotificationPayloadReply { notification_type: typeof NotificationType.CommentReplied; } export declare const NotificationCommentReplyValidator: import("@seayoo-web/validator").ObjectValidator; export interface NotificationComment extends NotificationBase, NotificationPayloadComment, NotificationPayloadPost { notification_type: typeof NotificationType.CommentLiked | typeof NotificationType.CommentDeleted; } export declare const NotificationCommentValidator: import("@seayoo-web/validator").ObjectValidator; export interface NotificationReplyReplied extends NotificationBase, NotificationPayloadReply { notification_type: typeof NotificationType.ReplyReplied; /** 评论 ID */ comment_id: number; /** 回复的回复 ID */ reply_to_reply_id: number; /** 回复的回复内容 */ reply_to_reply_content: string; } export declare const NotificationReplyRepliedValidator: import("@seayoo-web/validator").ObjectValidator; export interface NotificationReply extends NotificationBase, NotificationPayloadReply, NotificationPayloadComment { notification_type: typeof NotificationType.ReplyLiked | typeof NotificationType.ReplyDeleted; } export declare const NotificationReplyValidator: import("@seayoo-web/validator").ObjectValidator; /** 社区通知 */ export type NotificationAll = NotificationSystem | NotificationPost | NotificationPostComment | NotificationCommentReply | NotificationComment | NotificationReplyReplied | NotificationReply; export declare const NotificationValidator: import("@seayoo-web/validator").UnionValidator<[import("@seayoo-web/validator").ObjectValidator, import("@seayoo-web/validator").ObjectValidator, import("@seayoo-web/validator").ObjectValidator, import("@seayoo-web/validator").ObjectValidator, import("@seayoo-web/validator").ObjectValidator, import("@seayoo-web/validator").ObjectValidator, import("@seayoo-web/validator").ObjectValidator], false, false> & { optional: never; maybeNull: never; key: never; satisfies: never; lock: never; };