import { type CreatePostReplacementResponses, type SearchPostReplacementsData, type CreatePostReplacementData } from "../generated/types.js"; import Post from "../models/Post.js"; import PostReplacement from "../models/PostReplacement.js"; import { GetResponse, type TransformDataBodyToOptions, type TransformDataQueryToOptions } from "../util.js"; import Base from "./Base.js"; /** @category Modules/Types */ export interface CreatePostReplacementOptions extends TransformDataBodyToOptions { } /** @category Modules/Types */ export interface SearchPostReplacementsOptions extends TransformDataQueryToOptions { } /** @category Modules/Types */ export interface CreatePostReplacementResponse extends GetResponse { } /** @category Modules */ export default class PostReplacements extends Base { /** * Approve Post Replacement * * You must have the "Approve Posts" permission. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Post_Replacements-approvePostReplacement approvePostReplacement} * * @see {@link https://e621.wiki/#operations-Post_Replacements-approvePostReplacement Documentation} for more details. */ approve(id: number): Promise; /** * Create Post Replacement * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Post_Replacements-createPostReplacement createPostReplacement} * * @see {@link https://e621.wiki/#operations-Post_Replacements-createPostReplacement Documentation} for more details. */ create(options: CreatePostReplacementOptions): Promise; /** * Delete Post Replacement * * You must be Admin+. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Post_Replacements-deletePostReplacement deletePostReplacement} * * @see {@link https://e621.wiki/#operations-Post_Replacements-deletePostReplacement Documentation} for more details. */ delete(id: number): Promise; /** * Promote Post Replacement * * You must have the "Approve Posts" permission. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Post_Replacements-promotePostReplacement promotePostReplacement} * * @see {@link https://e621.wiki/#operations-Post_Replacements-promotePostReplacement Documentation} for more details. */ promote(id: number): Promise; /** * Reject Post Replacement * * You must have the "Approve Posts" permission. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Post_Replacements-rejectPostReplacement rejectPostReplacement} * * @see {@link https://e621.wiki/#operations-Post_Replacements-rejectPostReplacement Documentation} for more details. */ reject(id: number): Promise; /** * Search Post Replacements * * Rejected replacements can only be seen by staff. * * @operationId {@link https://e621.wiki/#operations-Post_Replacements-searchPostReplacements searchPostReplacements} * * @see {@link https://e621.wiki/#operations-Post_Replacements-searchPostReplacements Documentation} for more details. */ search(options?: SearchPostReplacementsOptions): Promise>; /** * Toggle Post Replacement Penalty * * You must have the "Approve Posts" permission. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Post_Replacements-togglePostReplacementPenalty togglePostReplacementPenalty} * * @see {@link https://e621.wiki/#operations-Post_Replacements-togglePostReplacementPenalty Documentation} for more details. */ togglePenalize(id: number): Promise; }