meme-generator-rs-api
Version:
API Wrapper for MemeCrafters/meme-generator-rs using @cordisjs/plugin-http
40 lines (39 loc) • 2.12 kB
TypeScript
import { HTTP } from '@cordisjs/plugin-http';
import { ImageID, ImageIDs, ImgOps, MemeInfo, RenderMemeListRequest, RenderMemeRequest, RenderStatisticsRequest, UploadImageRequest } from './types';
export declare function reqCatchWrapper<T>(fn: () => Promise<HTTP.Response<T>>): Promise<T>;
export declare class MemeAPI {
readonly http: HTTP;
readonly imgOps: MemeAPI.ImageOperations;
constructor(http: HTTP);
uploadImage(data: UploadImageRequest): Promise<ImageID>;
getImage(imageId: string): Promise<Blob>;
getVersion(): Promise<string>;
getKeys(): Promise<string[]>;
getInfos(): Promise<MemeInfo[]>;
searchMemes(query: string, includeTags?: boolean): Promise<string[]>;
getInfo(key: string): Promise<MemeInfo>;
renderPreview(key: string): Promise<ImageID>;
renderMeme(key: string, data: RenderMemeRequest): Promise<ImageID>;
renderList(data?: RenderMemeListRequest): Promise<ImageID>;
renderStatistics(data: RenderStatisticsRequest): Promise<ImageID>;
}
export declare namespace MemeAPI {
class ImageOperations {
readonly http: HTTP;
constructor(http: HTTP);
inspect(imageId: string): Promise<ImgOps.InspectResponse>;
flipHorizontal(imageId: string): Promise<ImageID>;
flipVertical(imageId: string): Promise<ImageID>;
rotate(imageId: string, extra: ImgOps.RotateRequestExtra): Promise<ImageID>;
resize(imageId: string, extra: ImgOps.ResizeRequestExtra): Promise<ImageID>;
crop(imageId: string, extra: ImgOps.CropRequestExtra): Promise<ImageID>;
grayscale(imageId: string): Promise<ImageID>;
invert(imageId: string): Promise<ImageID>;
mergeHorizontal(imageIds: string[]): Promise<ImageID>;
mergeVertical(imageIds: string[]): Promise<ImageID>;
gifSplit(imageId: string): Promise<ImageIDs>;
gifMerge(imageIds: string[], extra: ImgOps.GifMergeRequestExtra): Promise<ImageID>;
gifReverse(imageId: string): Promise<ImageID>;
gifChangeDuration(imageId: string, extra: ImgOps.GifChangeDurationRequestExtra): Promise<ImageID>;
}
}