import { AxiosRequestConfig } from "axios";
export interface OptionsDownloadMedia {
    axios_config?: AxiosRequestConfig;
    hosting?: String;
    ajax?: any;
}
export interface Params_DownloadMedia {
    link: String;
    debugging?: Boolean;
    format: "480" | "720" | "1080" | "1440" | "4k" | "8k" | "mp3" | "ogg" | "wav" | "m4a" | "webm" | "aac" | "opus";
    options?: OptionsDownloadMedia;
}
export interface InfoContent_API_VideoDownloadAPI {
    id: String;
    title: String;
    link: String;
    thumbnail: String;
    channel?: {
        id: String;
        name: String;
        link: String | undefined;
        verified: Boolean | undefined;
        handle: String;
        thumbnail: String;
    };
    description: String;
    views: Number;
    uploaded: String;
    duration: Number;
    durationString: String;
}
export interface API_Progress_VideoDownloadAPI {
    success: Boolean | Number;
    progress?: Number | 0 | 1000;
    download?: String | null;
    text?: String;
    message?: String;
}
export interface API_VideoDownloadAPI {
    success: true | Boolean;
    id?: String;
    content?: String;
    info?: {
        image?: String | undefined;
        title?: String | undefined;
    };
    repeat_download: true | Boolean;
    message?: String;
    cachehash?: String;
    additional_info?: InfoContent_API_VideoDownloadAPI;
    progress_url?: String;
    extended_duration?: Number | null | undefined;
}
export default function DownloadMedia({ link, debugging, format, options }: Params_DownloadMedia): Promise<{
    card?: InfoContent_API_VideoDownloadAPI | any;
    url: String;
}>;
