import { IDefaultParams, IError } from "../../types";
type params = ({
    type: 'difficulty';
    id: number;
    host: 'osu' | 'osu_direct_mirror' | 'catboy';
    file_path: string;
    overwrite?: boolean;
    progress_track_fn?: (host: string, progress: number) => void;
} | {
    type: 'set';
    id: number;
    host: 'osu' | 'beatconnect' | 'nerinyan' | 'osu_direct_mirror' | 'sayobot' | 'gatari' | 'ripple' | 'catboy';
    file_path: string;
    no_video?: boolean;
    overwrite?: boolean;
    progress_track_fn?: (host: string, progress: number) => void;
});
type Response = {
    status: string;
    destination?: string;
    /**
     * Time in milliseconds
     */
    elapsed_time?: number;
} & IError;
export declare const beatmaps_download: <T extends params>(params: T, addons?: IDefaultParams) => Promise<Response>;
export {};
