export interface AssignableDownload {
    path: string;
    url: string;
}
/**
 * Downloads a file with its full path.
 *
 * @param download - The download info object.
 * @param root - An optional root directory to download to. Defaults to `./` (the current directory).
 * @returns A useless promise to trigger async functionality.
 */
export declare const downloadFile: (download: AssignableDownload, root?: string) => Promise<boolean>;
/**
 * Downloads an asset and copies it to the correct location.
 * This will also save it in the correct location such that Minecraft will find it correctly (there will be two copies).
 *
 * @param name - The asset's path in the Minecraft game data.
 * @param hash - The asset's hash for resolving the download.
 * @param root - An optional root directory to download to. Defaults to `./` (the current directory).
 * @returns A useless promise to trigger async functionality.
 */
export declare const downloadAsset: (name: string, hash: string, root?: string) => Promise<boolean>;
