import type { JikanClient } from "../client";
import type { JikanPaginatedResponse, JikanResponse, Manga, MangaCharacter, MangaExternal, MangaForum, MangaNews, MangaPicture, MangaQueryParams, MangaRecommendation, MangaRelation, MangaReview, MangaStatistics, MangaUserUpdate } from "../types";
export declare class MangaEndpoint {
    private client;
    constructor(client: JikanClient);
    /**
     * Get manga by ID
     * @param id Manga ID
     * @returns Promise with manga data
     */
    getById(id: number): Promise<JikanResponse<Manga>>;
    /**
     * Get manga characters
     * @param id Manga ID
     * @returns Promise with manga characters data
     */
    getCharacters(id: number): Promise<JikanResponse<MangaCharacter[]>>;
    /**
     * Get manga news
     * @param id Manga ID
     * @param page Page number
     * @returns Promise with manga news data
     */
    getNews(id: number, page?: number): Promise<JikanPaginatedResponse<MangaNews>>;
    /**
     * Get manga forum topics
     * @param id Manga ID
     * @returns Promise with manga forum data
     */
    getForum(id: number): Promise<JikanResponse<MangaForum[]>>;
    /**
     * Get manga pictures
     * @param id Manga ID
     * @returns Promise with manga pictures data
     */
    getPictures(id: number): Promise<JikanResponse<MangaPicture[]>>;
    /**
     * Get manga statistics
     * @param id Manga ID
     * @returns Promise with manga statistics data
     */
    getStatistics(id: number): Promise<JikanResponse<MangaStatistics>>;
    /**
     * Get more manga info
     * @param id Manga ID
     * @returns Promise with more manga info
     */
    getMoreInfo(id: number): Promise<JikanResponse<string>>;
    /**
     * Get manga recommendations
     * @param id Manga ID
     * @returns Promise with manga recommendations data
     */
    getRecommendations(id: number): Promise<JikanResponse<MangaRecommendation[]>>;
    /**
     * Get manga user updates
     * @param id Manga ID
     * @param page Page number
     * @returns Promise with manga user updates data
     */
    getUserUpdates(id: number, page?: number): Promise<JikanPaginatedResponse<MangaUserUpdate>>;
    /**
     * Get manga reviews
     * @param id Manga ID
     * @param page Page number
     * @returns Promise with manga reviews data
     */
    getReviews(id: number, page?: number): Promise<JikanPaginatedResponse<MangaReview>>;
    /**
     * Get manga relations
     * @param id Manga ID
     * @returns Promise with manga relations data
     */
    getRelations(id: number): Promise<JikanResponse<MangaRelation[]>>;
    /**
     * Get manga external links
     * @param id Manga ID
     * @returns Promise with manga external links data
     */
    getExternal(id: number): Promise<JikanResponse<MangaExternal[]>>;
    /**
     * Search for manga
     * @param params Search parameters
     * @returns Promise with manga search results
     */
    search(params?: MangaQueryParams): Promise<JikanPaginatedResponse<Manga>>;
}
