import { CreatePostVoteResponse } from "../modules/posts/Votes.js"; import { type ExtractValue } from "../util.js"; import Base from "./Base.js"; import type { CreatePostVoteData, Post as PostData, RecommendedPosts } from "../generated/types.js"; import type { DeletePostOptions, GetRecommendedPostsOptions, ListPostFavoritesOptions, MovePostFavoritesOptions } from "../modules/Posts.js"; interface Post extends PostData { } /** * @category Models * * @schema {@link https://e621.wiki/#model-Post Post} * * @see {@link https://e621.wiki/#model-Post Documentation} for more details. */ declare class Post extends Base { /** * AI Check Post * * You must be Janitor+. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Posts-aiCheckPost aiCheckPost} * * @see {@link https://e621.wiki/#operations-Posts-aiCheckPost Documentation} for more details. */ aiCheck(): Promise; /** * Copy Notes To Post * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Posts-copyNotesToPost copyNotesToPost} * * @see {@link https://e621.wiki/#operations-Posts-copyNotesToPost Documentation} for more details. */ copyNotes(other_post_id: number): Promise; /** * Delete Post * * You must have the "Approve Posts" permission. `commit=Delete` must be set. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Posts-deletePost deletePost} * * @see {@link https://e621.wiki/#operations-Posts-deletePost Documentation} for more details. */ delete(options: DeletePostOptions): Promise; /** * Expunge Post * * You must have the "Approve Posts" permission and be Admin+. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Posts-expungePost expungePost} * * @see {@link https://e621.wiki/#operations-Posts-expungePost Documentation} for more details. */ expunge(reason: string): Promise; /** * List Post Favorites * * You must be the user or Moderator+ to see users that have their favorites hidden. * * @operationId {@link https://e621.wiki/#operations-Posts-listPostFavorites listPostFavorites} * * @see {@link https://e621.wiki/#operations-Posts-listPostFavorites Documentation} for more details. */ favorites(options: ListPostFavoritesOptions): Promise>; /** * Mark Post As Translated * * Will error if no body is provided. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Posts-markPostAsTranslated markPostAsTranslated} * * @see {@link https://e621.wiki/#operations-Posts-markPostAsTranslated Documentation} for more details. */ markTranslated(): Promise; /** * Move Post Favorites * * You must have the "Approve Posts" permission. `commit=Submit`` must be set. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Posts-movePostFavorites movePostFavorites} * * @see {@link https://e621.wiki/#operations-Posts-movePostFavorites Documentation} for more details. */ moveFavorites(options: MovePostFavoritesOptions): Promise; /** * Get Recommended Posts * * @operationId {@link https://e621.wiki/#operations-Posts-getRecommendedPosts getRecommendedPosts} * * @see {@link https://e621.wiki/#operations-Posts-getRecommendedPosts Documentation} for more details. */ recommended(options: GetRecommendedPostsOptions): Promise; /** * Regenerate Post Thumbnails * * You must be Janitor+. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Posts-regeneratePostThumbnails regeneratePostThumbnails} * * @see {@link https://e621.wiki/#operations-Posts-regeneratePostThumbnails Documentation} for more details. */ regenerateThumbnails(): Promise; /** * Regenerate Post Videos * * You must be Janitor+. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Posts-regeneratePostVideos regeneratePostVideos} * * @see {@link https://e621.wiki/#operations-Posts-regeneratePostVideos Documentation} for more details. */ regenerateVideos(): Promise; /** * Revert Post * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Posts-revertPost revertPost} * * @see {@link https://e621.wiki/#operations-Posts-revertPost Documentation} for more details. */ revert(version_id: number): Promise; /** * Undelete Post * * You must have the "Approve Posts" permission. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Posts-undeletePost undeletePost} * * @see {@link https://e621.wiki/#operations-Posts-undeletePost Documentation} for more details. */ undelete(): Promise; /** * Delete Post Vote * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Post_Votes-deletePostVote deletePostVote} * * @see {@link https://e621.wiki/#operations-Post_Votes-deletePostVote Documentation} for more details. */ unvote(): Promise; /** * Update Post IQDB * * You must be Admin+. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Posts-updatePostIqdb updatePostIqdb} * * @see {@link https://e621.wiki/#operations-Posts-updatePostIqdb Documentation} for more details. */ updateIqdb(): Promise; /** * Create Post Vote * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Post_Votes-createPostVote createPostVote} * * @see {@link https://e621.wiki/#operations-Post_Votes-createPostVote Documentation} for more details. */ vote(score: ExtractValue<"score", CreatePostVoteData>, no_unvote?: boolean): Promise; } export default Post;