///
import type { Gallery, Galleries, Image, ImageName, ImageType, ImageSuffix } from './type';
import type { Duplex } from 'stream';
export declare const URL: {
BASE: string;
API: string;
IMAGE: string;
THUMB: string;
};
/** @deprecated Use IMAGE_SUFFIX_TYPES record table. Will be removed in v0.3.0 */
export declare const IMAGE_TYPE_TRANSFORM: (input: ImageType | ImageSuffix) => ImageSuffix;
export declare const IMAGE_SUFFIX_TYPES: Record;
export declare type Options = Partial<{
timeout: number;
userAgent: string;
cookie?: string;
proxy: {
host: string;
port: number;
};
}>;
export declare class NHentaiAPI {
private readonly _fetch;
constructor(opts?: Options);
private readonly errorHandler;
fetch(id: number): Promise;
fetchRelated(id: number): Promise;
fetchAll(page?: number): Promise;
search(query: string, page?: number): Promise;
searchByTag(tagId: number, page?: number): Promise;
stringifyImageUrl(galleryMediaId: Gallery | number, imageName: ImageName, imageSuffix: Image | ImageType | ImageSuffix, isPreview?: boolean): string;
fetchImage(galleryMediaId: Gallery | number, imageName: ImageName, imageSuffix: Image | ImageType | ImageSuffix, isPreview?: boolean): Promise<{
data: Duplex;
headers: any;
}>;
fetchImageAsBuffer(galleryMediaId: Gallery | number, imageName: ImageName, imageSuffix: Image | ImageType | ImageSuffix, isPreview?: boolean): Promise<{
data: Buffer;
headers: any;
}>;
}