UNPKG

derpibooru-api

Version:

Modern TypeScript implementation of Derpibooru API with Zod validation

38 lines (37 loc) 1.97 kB
import { type Safe, type ImageResponse, type Tag, type FilterResponse, type UserResponse, type OembedResponse, type SearchImagesResponse, type SearchTagsResponse, type CommentResponse, type PostResponse, type SearchCommentsResponse, type SearchGalleriesResponse, type SearchPostsResponse } from "./index.js"; interface DerpibooruClientConfig { apiKey?: string; baseUrl?: string; } interface RequestOptions { method?: string; body?: unknown; searchParams?: Record<string, string>; } declare class DerpibooruClient { #private; constructor(config?: DerpibooruClientConfig); searchImages(query: string, page?: number, perPage?: number): Promise<Safe<SearchImagesResponse>>; getImage(id: number): Promise<Safe<ImageResponse>>; getFeaturedImage(): Promise<Safe<ImageResponse>>; searchTags(query: string, page?: number): Promise<Safe<SearchTagsResponse>>; getTag(tagId: string): Promise<Safe<Tag>>; getFilter(id: number): Promise<Safe<FilterResponse>>; getSystemFilters(page?: number): Promise<Safe<FilterResponse[]>>; getUser(id: number): Promise<Safe<UserResponse>>; getOembed(url: string): Promise<Safe<OembedResponse>>; uploadImage(params: { url: string; description?: string; tags?: string[]; source_url?: string; }): Promise<Safe<ImageResponse>>; reverseImageSearch(url: string, distance?: number): Promise<Safe<SearchImagesResponse>>; getUserFilters(page?: number): Promise<Safe<FilterResponse[]>>; getComment(id: number): Promise<Safe<CommentResponse>>; searchComments(query: string, page?: number): Promise<Safe<SearchCommentsResponse>>; searchGalleries(query: string, page?: number): Promise<Safe<SearchGalleriesResponse>>; getPost(id: number): Promise<Safe<PostResponse>>; searchPosts(query: string, page?: number): Promise<Safe<SearchPostsResponse>>; } export { type DerpibooruClientConfig, type RequestOptions, DerpibooruClient };