import Pool from "../models/Pool.js"; import { GetResponse, type TransformDataBodyToOptions, type TransformDataQueryToOptions } from "../util.js"; import Base from "./Base.js"; import type { CreatePoolData, EditPoolData, GetRecentPoolsResponses, SearchPoolsData } from "../generated/types.js"; /** @category Modules/Types */ export interface CreatePoolOptions extends TransformDataBodyToOptions { } /** @category Modules/Types */ export interface EditPoolOptions extends TransformDataBodyToOptions { } /** @category Modules/Types */ export interface SearchPoolsOptions extends TransformDataQueryToOptions { } /** @category Modules/Types */ export interface GetRecentPoolsResponse extends GetResponse { } /** @category Modules */ export default class Pools extends Base { /** * Add Post To Pool * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Pools-addPostToPool addPostToPool} * * @see {@link https://e621.wiki/#operations-Pools-addPostToPool Documentation} for more details. */ addPost(pool_id: number, post_id: number): Promise; /** * Create Pool * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Pools-createPool createPool} * * @see {@link https://e621.wiki/#operations-Pools-createPool Documentation} for more details. */ create(options: CreatePoolOptions): Promise; /** * Delete Pool * * You must be Janitor+. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Pools-deletePool deletePool} * * @see {@link https://e621.wiki/#operations-Pools-deletePool Documentation} for more details. */ delete(id: number): Promise; /** * Edit Pool * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Pools-editPool editPool} * * @see {@link https://e621.wiki/#operations-Pools-editPool Documentation} for more details. */ edit(id: number, options: EditPoolOptions): Promise; /** * Get Pool * * @operationId {@link https://e621.wiki/#operations-Pools-getPool getPool} * * @see {@link https://e621.wiki/#operations-Pools-getPool Documentation} for more details. */ get(id: number): Promise; /** * Get Recent Pools * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Pools-getRecentPools getRecentPools} * * @see {@link https://e621.wiki/#operations-Pools-getRecentPools Documentation} for more details. */ getRecent(): Promise; /** * Remove Post From Pool * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Pools-removePostFromPool removePostFromPool} * * @see {@link https://e621.wiki/#operations-Pools-removePostFromPool Documentation} for more details. */ removePost(pool_id: number, post_id: number): Promise; /** * Revert Pool * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Pools-revertPool revertPool} * * @see {@link https://e621.wiki/#operations-Pools-revertPool Documentation} for more details. */ revert(id: number, version_id: number): Promise; /** * Search Pools * * @operationId {@link https://e621.wiki/#operations-Pools-searchPools searchPools} * * @see {@link https://e621.wiki/#operations-Pools-searchPools Documentation} for more details. */ search(options?: SearchPoolsOptions): Promise>; }