///
import { AxiosInstance } from 'axios';
import { AbstractMangaSource, Chapter, Manga, mangaSourceFetchOption, mangaSourceFetchResult, chapterSourceFetchOption, chapterSourceFetchResult, pageSourceFetchOption, pageSourceFetchResult, optionDefinition } from '@medialib/medialib-manga';
import { mangadexSourceSettings } from './mangadexSourceTypes.js';
import { ReadableStream } from 'stream/web';
export default class MangadexSource extends AbstractMangaSource {
private static settingsDefinition;
protected webInstance: AxiosInstance;
constructor(settingsDefinition?: optionDefinition);
resetWebInstance(): void;
private createAxiosInstance;
fetchMangas(options: U): Promise;
fetchMangaById(id: string, options: U): Promise;
getFetchMangaOptionsDefinition(): Promise>;
fetchChaptersByManga(manga: Manga, options: W): Promise;
fetchChaptersByMangaId(id: string, options: W): Promise;
fetchChapters(options: W): Promise;
fetchChapterById(id: string, options: W): Promise;
getFetchChapterOptionsDefinition(): Promise>;
fetchPagesByChapter(chapter: Chapter, options: Y): Promise;
fetchPagesByChapterId(id: string, options: Y): Promise;
getFetchPageOptionsDefinition(): Promise>;
private fetchRawAuthorsByIds;
private fetchRawMangaVolumesById;
private fetchRawChaptersByIds;
downloadFile(uri: string, options?: any): Promise<{
type: string;
data: ReadableStream;
}>;
}