///
import { PicaComicAPI, PicaComicAPIOptions } from './api';
import * as types from './type';
export interface PicaComicClientOptions extends Omit {
email: string;
password: string;
token?: string;
onTokenIssued?: (token: string) => void | Promise;
}
export declare class PicaComicClient {
readonly email: string;
readonly password: string;
readonly api: PicaComicAPI;
readonly onTokenIssued?: (token: string) => void | Promise;
token: string;
constructor(options: PicaComicClientOptions);
private static reauthorizationTokenCallback;
punchIn(): Promise;
fetchUserProfile(): Promise;
fetchUserFavourite(payload: types.UserFavouritePayload): Promise;
fetchCategories(): Promise;
fetchComics(payload: types.ComicsPayload): Promise;
fetchComicDetail(payload: types.ComicDetailPayload): Promise;
fetchComicEpisodes(payload: types.ComicEpisodesPayload): Promise;
fetchComicEpisodePages(payload: types.ComicEpisodePagesPayload): Promise;
fetchComicComments(payload: types.ComicCommentsPayload): Promise;
searchComics(payload: types.SearchComicsPayload): Promise;
switchComicLike(payload: types.ComicIdPayload): Promise;
switchComicFavourite(payload: types.ComicIdPayload): Promise;
setUserProfileSlogan(payload: types.UserProfileSloganPayload): Promise>;
stringifyImageUrl(payload: types.ImageMediaPayload): string;
createImageRequest(payload: types.ImageMediaPayload): ReturnType;
createImageRequestAsBuffer(payload: types.ImageMediaPayload): Promise;
}