import JikanHttpClient from "../client/http-client";
import { AnimeResponse, AnimeCharacterResponse, AnimeStaffResponse, AnimeEpisodeResponse, AnimeNewsResponse, AnimeForumResponse, AnimeVideoResponse, AnimePictureResponse, AnimeStatisticsResponse, AnimeRecommendationResponse, AnimeUserUpdateResponse, AnimeReviewResponse, AnimeRelationResponse, AnimeThemeResponse, AnimeExternalResponse, AnimeStreamingResponse } from "../types/anime";
import JikanResponse from "../types/common";
export declare class Anime {
    private client;
    constructor(client: JikanHttpClient);
    getAnimeByFullId(id: number): Promise<JikanResponse<AnimeResponse>>;
    getAnimeCharacters(id: number): Promise<JikanResponse<AnimeCharacterResponse[]>>;
    getAnimeStaff(id: number): Promise<JikanResponse<AnimeStaffResponse[]>>;
    getAnimeEpisodes(id: number, page?: number): Promise<JikanResponse<AnimeEpisodeResponse[]>>;
    getAnimeEpisodeById(id: number, episodeId: number): Promise<JikanResponse<AnimeEpisodeResponse>>;
    getAnimeNews(id: number, page?: number): Promise<JikanResponse<AnimeNewsResponse[]>>;
    getAnimeForum(id: number): Promise<JikanResponse<AnimeForumResponse[]>>;
    getAnimeVideos(id: number): Promise<JikanResponse<AnimeVideoResponse>>;
    getAnimePictures(id: number): Promise<JikanResponse<AnimePictureResponse[]>>;
    getAnimeStatistics(id: number): Promise<JikanResponse<AnimeStatisticsResponse>>;
    getAnimeMoreInfo(id: number): Promise<JikanResponse<{
        moreinfo: string;
    }>>;
    getAnimeRecommendations(id: number): Promise<JikanResponse<AnimeRecommendationResponse[]>>;
    getAnimeUserUpdates(id: number, page?: number): Promise<JikanResponse<AnimeUserUpdateResponse[]>>;
    getAnimeReviews(id: number, page?: number): Promise<JikanResponse<AnimeReviewResponse[]>>;
    getAnimeRelations(id: number): Promise<JikanResponse<AnimeRelationResponse[]>>;
    getAnimeThemes(id: number): Promise<JikanResponse<AnimeThemeResponse>>;
    getAnimeExternal(id: number): Promise<JikanResponse<AnimeExternalResponse[]>>;
    getAnimeStreaming(id: number): Promise<JikanResponse<AnimeStreamingResponse[]>>;
    searchAnime(params?: {
        q?: string;
        type?: string;
        score?: number;
        min_score?: number;
        max_score?: number;
        status?: string;
        rating?: string;
        sfw?: boolean;
        genres?: string;
        genres_exclude?: string;
        order_by?: string;
        sort?: string;
        letter?: string;
        producer?: string;
        start_date?: string;
        end_date?: string;
        page?: number;
        limit?: number;
    }): Promise<JikanResponse<AnimeResponse[]>>;
}
//# sourceMappingURL=anime.d.ts.map