import { Req } from "./jikanApi";
import { AnimeInfo, CharactersAndStaff, Episodes, Videos, Stats, Forum, Reviews, MoreInfo, UserUpdates, Recommendations, Pictures, NewsInfo } from "./types/anime";
export * from "./types/anime";
/**
 * # Anime
 * #### For more info visit <a href="https://jikan.docs.apiary.io/#reference/0/anime" target="_blank">https://jikan.docs.apiary.io</a>
 * To get anime you need to create anime object, like so:
 * ```ts
 * let anime = Jikan.anime(id);
 * ```
 * And then you can use anime object multiple times to get desired information.
 * ```typescript
 * anime.info();
 * anime.charactersStaff();
 * anime.episodes(page?);
 * anime.news();
 * anime.pictures();
 * anime.videos();
 * anime.stats();
 * anime.forum();
 * anime.moreInfo();
 * anime.reviews(page?);
 * anime.recommendations();
 * anime.userUpdates(page?);
 * ```
 * Each of those functions returns promise
 * ## Example
 * ```ts
 * anime.info()
 *      .then(res => res.data)
 *      .then(animeJson => animeJson.title);
 * ```
 */
export declare class Anime {
    /** @ignore */
    private baseUrl;
    constructor(id: number);
    info(): Req<AnimeInfo>;
    charactersStaff(): Req<CharactersAndStaff>;
    episodes(p?: number): Req<Episodes>;
    news(): Req<NewsInfo>;
    pictures(): Req<Pictures>;
    videos(): Req<Videos>;
    stats(): Req<Stats>;
    forum(): Req<Forum>;
    moreInfo(): Req<MoreInfo>;
    reviews(p?: number): Req<Reviews>;
    recommendations(): Req<Recommendations>;
    userUpdates(p?: number): Req<UserUpdates>;
}
export declare function anime(id: number): Anime;
