import Tag from "../models/Tag.js"; import TagPreview from "../models/TagPreview.js"; import { type TransformDataBodyToOptions, type TransformDataQueryToOptions } from "../util.js"; import Base from "./Base.js"; import type { SearchTagsData, EditTagData } from "../generated/types.js"; /** @category Modules/Types */ export interface EditTagOptions extends TransformDataBodyToOptions { } /** @category Modules/Types */ export interface SearchTagsOptions extends TransformDataQueryToOptions { } /** @category Modules */ export default class Tags extends Base { /** * Delete Tag * * You must have the bd staff user flag. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Tags-deleteTag deleteTag} * * @see {@link https://e621.wiki/#operations-Tags-deleteTag Documentation} for more details. */ delete(id: number): Promise; /** * Edit Tag * * Must be Admin+ if the tag is locked or post count is >100. * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Tags-editTag editTag} * * @see {@link https://e621.wiki/#operations-Tags-editTag Documentation} for more details. */ edit(id: number, options: EditTagOptions): Promise; /** * Get Tag * * @operationId {@link https://e621.wiki/#operations-Tags-getTag getTag} * * @see {@link https://e621.wiki/#operations-Tags-getTag Documentation} for more details. */ get(id: number): Promise; /** * Preview Tags * * @requiresApiKeyAuth * * @operationId {@link https://e621.wiki/#operations-Tags-previewTags previewTags} * * @see {@link https://e621.wiki/#operations-Tags-previewTags Documentation} for more details. */ preview(tags: string): Promise>; /** * Search Tags * * @operationId {@link https://e621.wiki/#operations-Tags-searchTags searchTags} * * @see {@link https://e621.wiki/#operations-Tags-searchTags Documentation} for more details. */ search(options?: SearchTagsOptions): Promise>; }