import { PodcastResponse, PodcastsResponse, PodcastEpisodeResponse, PodcastEpisodesResponse, DeletedPodcastEpisodesResponse } from "./types";
import { Base, ExtendedPagination, Pagination, Success, UID } from "../base";
export declare class Podcasts extends Base {
    /**
     * Get information about podcasts
     * @remarks MINIMUM_API_VERSION=420000
     * @param [params.filter] Value is Alpha Match for returned results, may be more than one letter/number
     * @param [params.include] episodes (include podcast_episodes in the response)
     * @param [params.offset]
     * @param [params.limit]
     * @param [params.cond]
     * @param [params.sort]
     * @see {@link https://ampache.org/api/api-json-methods#podcasts}
     */
    podcasts(params?: {
        filter?: string;
        include?: "episodes";
    } & ExtendedPagination): Promise<PodcastsResponse>;
    /**
     * Get information about podcasts
     * @remarks MINIMUM_API_VERSION=420000
     * @param params.filter UID to find
     * @param [params.include] episodes (include podcast_episodes in the response)
     * @param [params.offset]
     * @param [params.limit]
     * @see {@link https://ampache.org/api/api-json-methods#podcast}
     */
    podcast(params?: {
        filter: UID;
        include?: "episodes";
    } & Pagination): Promise<PodcastResponse>;
    /**
     * Create a podcast that can be used by anyone to stream media.
     * @remarks MINIMUM_API_VERSION=420000
     * @param params.url RSS url for podcast
     * @param params.catalog UID of podcast catalog
     * @see {@link https://ampache.org/api/api-json-methods#podcast_create}
     */
    podcastCreate(params: {
        url: string;
        catalog: UID;
    }): Promise<PodcastResponse>;
    /**
     * Update the description and/or expiration date for an existing podcast.
     * @remarks MINIMUM_API_VERSION=420000
     * @param params.filter UID to find
     * @param [params.feed] RSS url for podcast
     * @param [params.title] Podcast title
     * @param [params.website] Source website URL
     * @param [params.description] Podcast description
     * @param [params.generator] Podcast generator
     * @param [params.copyright] Podcast copyright
     * @see {@link https://ampache.org/api/api-json-methods#podcast_edit}
     */
    podcastEdit(params: {
        filter: UID;
        feed?: string;
        title?: string;
        website?: string;
        description?: string;
        generator?: string;
        copyright?: string;
    }): Promise<Success>;
    /**
     * Delete an existing podcast
     * @remarks MINIMUM_API_VERSION=420000
     * @param params.filter UID of podcast to delete
     * @see {@link https://ampache.org/api/api-json-methods#podcast_delete}
     */
    podcastDelete(params: {
        filter: UID;
    }): Promise<Success>;
    /**
     * This returns the episodes for a podcast
     * @remarks MINIMUM_API_VERSION=420000
     * @param params.filter UID of podcast
     * @param [params.offset]
     * @param [params.limit]
     * @param [params.cond]
     * @param [params.sort]
     * @see {@link https://ampache.org/api/api-json-methods#podcast_episodes}
     */
    podcastEpisodes(params: {
        filter: UID;
    } & ExtendedPagination): Promise<PodcastEpisodesResponse>;
    /**
     * Get the podcast_episode from a UID
     * @remarks MINIMUM_API_VERSION=420000
     * @param params.filter UID of podcast
     * @see {@link https://ampache.org/api/api-json-methods#podcast_episode}
     */
    podcastEpisode(params: {
        filter: UID;
    }): Promise<PodcastEpisodeResponse>;
    /**
     * Delete an existing podcast_episode
     * @remarks MINIMUM_API_VERSION=420000
     * @param params.filter UID of podcast episode to delete
     * @see {@link https://ampache.org/api/api-json-methods#podcast_episode_delete}
     */
    podcastEpisodeDelete(params: {
        filter: UID;
    }): Promise<Success>;
    /**
     * Sync and download new podcast episodes
     * ACCESS REQUIRED: 50 (Content Manager)
     * @remarks MINIMUM_API_VERSION=420000
     * @param params.id UID of podcast
     * @see {@link https://ampache.org/api/api-json-methods#update_podcast}
     */
    updatePodcast(params: {
        id: UID;
    }): Promise<Success>;
    /**
     * This returns the episodes for a podcast that have been deleted
     * @param [params.offset]
     * @param [params.limit]
     * @see {@link https://ampache.org/api/api-json-methods#deleted_podcast_episodes}
     */
    deletedPodcastEpisodes(params?: {} & Pagination): Promise<DeletedPodcastEpisodesResponse>;
}
