import type { Anime, AnimeCharacter, AnimeEpisode, AnimeEpisodeVideo, AnimePicture, AnimeReview, AnimeSearchParams, AnimeStaff, AnimeStatistics, AnimeTheme, AnimeUserUpdate, AnimeVideos, ForumFilter, JikanExternalLink, JikanForum, JikanMoreInfo, JikanNews, JikanRelation, Recommendation, ReviewsParams } from '../models';
import { BaseClient } from './base.client';
/**
 * **Anime Client**
 *
 * Client used to access the Anime Endpoints:
 *
 * See also: [Jikan Documentation](https://docs.api.jikan.moe/)
 */
export declare class AnimeClient extends BaseClient {
    /**
     * Get complete anime resource data
     * @param id anime id
     */
    getAnimeFullById(id: number): Promise<import("../models").JikanResponse<Anime>>;
    /**
     * Get anime resource
     * @param id anime id
     */
    getAnimeById(id: number): Promise<import("../models").JikanResponse<Anime>>;
    /**
     * Get characters of a specific anime
     * @param id anime id
     */
    getAnimeCharacters(id: number): Promise<import("../models").JikanResponse<AnimeCharacter[]>>;
    /**
     * Get staff of a specific Anime
     * @param id anime id
     */
    getAnimeStaff(id: number): Promise<import("../models").JikanResponse<AnimeStaff[]>>;
    /**
     * Get a list of all the episodes of a specific anime
     * @param id anime id
     * @param page page number
     */
    getAnimeEpisodes(id: number, page?: number): Promise<import("../models").JikanResponse<AnimeEpisode[]>>;
    /**
     * Get a single episode of a specific anime by its id
     * @param anime_id anime id
     * @param episode_id episode id
     */
    getAnimeEpisodeById(anime_id: number, episode_id: number): Promise<import("../models").JikanResponse<AnimeEpisode>>;
    /**
     * Get a list of news articles related to the anime
     * @param id anime id
     * @param page page number
     */
    getAnimeNews(id: number, page: number): Promise<import("../models").JikanResponse<JikanNews[]>>;
    /**
     * Get a list of forum topics related to the anime
     * @param id anime id
     * @param filter filter topics
     */
    getAnimeForum(id: number, filter?: ForumFilter): Promise<import("../models").JikanResponse<JikanForum[]>>;
    /**
     * Get videos related to the anime
     * @param id anime id
     */
    getAnimeVideos(id: number): Promise<import("../models").JikanResponse<AnimeVideos>>;
    /**
     * Get episode videos related to the anime
     * @param id anime id
     * @param page page number
     */
    getAnimeEpisodeVideos(id: number, page?: number): Promise<import("../models").JikanResponse<AnimeEpisodeVideo[]>>;
    /**
     * Get pictures related to the Anime
     * @param id anime id
     */
    getAnimePictures(id: number): Promise<import("../models").JikanResponse<AnimePicture[]>>;
    /**
     * Get statistics related to the Anime
     * @param id anime id
     */
    getAnimeStatistics(id: number): Promise<import("../models").JikanResponse<AnimeStatistics>>;
    /**
     * Get more info related to the anime
     * @param id anime id
     */
    getAnimeMoreInfo(id: number): Promise<import("../models").JikanResponse<JikanMoreInfo>>;
    /**
     * Get recommendations based on the anime
     * @param id anime id
     */
    getAnimeRecommendations(id: number): Promise<import("../models").JikanResponse<Recommendation[]>>;
    /**
     * Get anime relations
     * @param id anime id
     */
    getAnimeRelations(id: number): Promise<import("../models").JikanResponse<JikanRelation[]>>;
    /**
     * Get anime external links
     * @param id anime id
     */
    getAnimeExternal(id: number): Promise<import("../models").JikanResponse<JikanExternalLink[]>>;
    /**
     * Get anime streaming links
     * @param id anime id
     */
    getAnimeStreaming(id: number): Promise<import("../models").JikanResponse<JikanExternalLink[]>>;
    /**
     * Get anime themes (openings and endings)
     * @param id anime id
     */
    getAnimeThemes(id: number): Promise<import("../models").JikanResponse<AnimeTheme>>;
    /**
     * Get user updates for the anime
     * @param id anime id
     * @param page page number
     */
    getAnimeUserUpdates(id: number, page?: number): Promise<import("../models").JikanResponse<AnimeUserUpdate[]>>;
    /**
     * Get reviews for the anime
     * @param id anime id
     * @param params review parameters
     */
    getAnimeReviews(id: number, params?: Partial<ReviewsParams>): Promise<import("../models").JikanResponse<AnimeReview[]>>;
    /**
     * Get all the Animes within the given filter. Returns all the Animes if no filters are given.
     * @param searchParams Filter parameters
     */
    getAnimeSearch(searchParams?: Partial<AnimeSearchParams>): Promise<import("../models").JikanResponse<Anime[]>>;
}
