imgur
Version:
Unofficial JavaScript library for Imgur
29 lines (27 loc) • 1.83 kB
TypeScript
import { EventEmitter } from 'events';
import { UpdateImagePayload } from './image';
import { GalleryOptions, SubredditGalleryOptions, SearchGalleryOptions } from './gallery';
import { AccountData, AlbumData, Credentials, GalleryData, ImageData, ImgurApiResponse, Payload } from './common/types';
import { AxiosResponse, AxiosRequestConfig } from 'axios';
export type { Credentials as ImgurCredentials, ImgurApiResponse };
export declare class ImgurClient extends EventEmitter {
credentials: Credentials;
private plainFetcher;
private fetcher;
constructor(credentials: Credentials);
plainRequest(options: AxiosRequestConfig): Promise<AxiosResponse<unknown>>;
request(options?: AxiosRequestConfig): Promise<AxiosResponse<unknown>>;
deleteImage(imageHash: string): Promise<ImgurApiResponse<boolean>>;
favoriteImage(imageHash: string): Promise<ImgurApiResponse<string>>;
getAlbum(albumHash: string): Promise<ImgurApiResponse<AlbumData>>;
getAccount(account: string): Promise<ImgurApiResponse<AccountData>>;
getAlbums(account: string, page?: number): Promise<ImgurApiResponse<AlbumData[]>>;
createAlbum(title?: string, description?: string): Promise<ImgurApiResponse<AlbumData>>;
getAlbumsIds(account: string, page?: number): Promise<ImgurApiResponse<string[]>>;
getGallery(options: GalleryOptions): Promise<ImgurApiResponse<GalleryData>>;
getSubredditGallery(options: SubredditGalleryOptions): Promise<ImgurApiResponse<GalleryData>>;
searchGallery(options: SearchGalleryOptions): Promise<ImgurApiResponse<GalleryData>>;
getImage(imageHash: string): Promise<ImgurApiResponse<ImageData>>;
updateImage(payload: UpdateImagePayload): Promise<ImgurApiResponse<boolean>>;
upload(payload: Payload): Promise<ImgurApiResponse<ImageData>>;
}