import Artist from "../models/Artist.js"; import { type TransformDataBodyToOptions, type TransformDataQueryToOptions } from "../util.js"; import Base from "./Base.js"; import type { CreateArtistData, EditArtistData, SearchArtistsData } from "../generated/types.js"; /** @category Modules/Types */ export interface CreateArtistOptions extends TransformDataBodyToOptions { } /** @category Modules/Types */ export interface EditArtistOptions extends TransformDataBodyToOptions { } /** @category Modules/Types */ export interface SearchArtistsOptions extends TransformDataQueryToOptions { } /** @category Modules */ export default class Artists extends Base { /** * Create Artist * * `other_names` & `urls` are silently truncated to 25 entries. `notes` is silently truncated to the wiki page limit (250,000). Individual `other_names` are silently truncated to 100 characters. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Artists-createArtist createArtist} * * @see {@link https://e621.wiki/#operations-Artists-createArtist Documentation} for more details. */ create(options: CreateArtistOptions): Promise; /** * Delete Artist * * You must be an Admin+ to delete an artist. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Artists-deleteArtist deleteArtist} * * @see {@link https://e621.wiki/#operations-Artists-deleteArtist Documentation} for more details. */ delete(idOrName: string | number): Promise; /** * Edit Artist * * If an artist is locked, you must be Janitor+ to edit them. `other_names` & `urls` are silently truncated to 25 entries. `notes` is silently truncated to the wiki page limit (250,000). Individual `other_names` are silently truncated to 100 characters. If an artist is on the avoid posting list, you must have the bd staff user flag to edit name, other_names, or group_name. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Artists-editArtist editArtist} * * @see {@link https://e621.wiki/#operations-Artists-editArtist Documentation} for more details. */ edit(idOrName: string | number, options: EditArtistOptions): Promise; /** * Get Artist * * @operationId {@link https://e621.wiki/#operations-Artists-getArtist getArtist} * * @see {@link https://e621.wiki/#operations-Artists-getArtist Documentation} for more details. */ get(idOrName: number | string): Promise; /** * Revert Artist * * If an artist is locked, you must be Janitor+ to revert them. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Artists-revertArtist revertArtist} * * @see {@link https://e621.wiki/#operations-Artists-revertArtist Documentation} for more details. */ revert(idOrName: number | string, version_id: number): Promise; /** * Search Artists * * @operationId {@link https://e621.wiki/#operations-Artists-searchArtists searchArtists} * * @see {@link https://e621.wiki/#operations-Artists-searchArtists Documentation} for more details. */ search(options?: SearchArtistsOptions): Promise>; }