import { IMediaOptions } from "./models/IMediaResolver";
import { IMedia } from "./models/IMedia";
export declare type FormatMap = {
    quality: string;
    format: string;
};
export interface Formats {
    '360p': FormatMap;
    '480p': FormatMap;
    '720p': FormatMap;
    '1080p': FormatMap;
}
export declare const FORMAT_IDS: Formats;
/**
 * Returns the media.
 * @param url the URL of the media.
 * @param videoQuality the quality of the video.
 * @param options the options passed to Crunchyroll.
 */
export declare function getMediaByUrl(url: string, videoQuality: keyof Formats, options?: IMediaOptions): Promise<IMedia>;
/**
 * Returns the media.
 * @param url the URL of the media.
 * @param streamFormat the format ID of the video.
 * @param streamQuality the quality ID of the video.
 * @param options the options passed to Crunchyroll.
 */
export declare function getMediaByUrl(url: string, streamFormat: string, streamQuality: string, options?: IMediaOptions): Promise<IMedia>;
/**
 * Returns the media.
 * @param mediaId the ID of the media
 * @param videoQuality the quality of the video.
 * @param currentPage the URL of the media.
 * @param options the options passed to Crunchyroll.
 */
export declare function getMedia(mediaId: string, videoQuality: keyof Formats, currentPage: string, options?: IMediaOptions): Promise<IMedia>;
/**
 * Returns the media.
 * @param mediaId the ID of the media
 * @param streamFormat the format ID of the video.
 * @param streamQuality the quality ID of the video.
 * @param currentPage the URL of the media.
 * @param options the options passed to Crunchyroll.
 */
export declare function getMedia(mediaId: string, streamFormat: string, streamQuality: string, currentPage: string, options?: IMediaOptions): Promise<IMedia>;
