import { CreateCommentVoteResponse } from "../modules/comments/Votes.js"; import { type ExtractValue } from "../util.js"; import Base from "./Base.js"; import type { Comment as CommentData, CreateCommentVoteData, MarkCommentData } from "../generated/types.js"; import type { EditCommentOptions, MarkCommentResponse } from "../modules/Comments.js"; interface Comment extends CommentData { } /** * @category Models * * @schema {@link https://e621.wiki/#model-Comment Comment} * * @see {@link https://e621.wiki/#model-Comment Documentation} for more details. */ declare class Comment extends Base { /** * Delete Comment * * You must be Admin+. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Comments-deleteComment deleteComment} * * @see {@link https://e621.wiki/#operations-Comments-deleteComment Documentation} for more details. */ delete(): Promise; /** * Edit Comment * * You must be the creator of the comment, or Admin+ to edit. Marked comments cannot be edited. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Comments-editComment editComment} * * @see {@link https://e621.wiki/#operations-Comments-editComment Documentation} for more details. */ edit(options: EditCommentOptions): Promise; /** * Hide Comment * * You must be the creator or Moderator+. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Comments-hideComment hideComment} * * @see {@link https://e621.wiki/#operations-Comments-hideComment Documentation} for more details. */ hide(): Promise; /** * Mark Comment * * You must be Moderator+. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Comments-markComment markComment} * * @see {@link https://e621.wiki/#operations-Comments-markComment Documentation} for more details. */ mark(type: ExtractValue<"record_type", MarkCommentData>): Promise; /** * Unhide Comment * * You must be Moderator+. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Comments-unhideComment unhideComment} * * @see {@link https://e621.wiki/#operations-Comments-unhideComment Documentation} for more details. */ unhide(): Promise; /** * Delete Comment Vote * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Comment_Votes-deleteCommentVote deleteCommentVote} * * @see {@link https://e621.wiki/#operations-Comment_Votes-deleteCommentVote Documentation} for more details. */ unvote(): Promise; /** * Create Comment Vote * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Comment_Votes-createCommentVote createCommentVote} * * @see {@link https://e621.wiki/#operations-Comment_Votes-createCommentVote Documentation} for more details. */ vote(score: ExtractValue<"score", CreateCommentVoteData>, no_unvote?: boolean): Promise; } export default Comment;