import type { _BADownload } from "./BADownload.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSURLRequest } from "../Foundation/NSURLRequest.js";
import type { BADownloaderPriority } from "./BADownloaderPriority.js";
export declare class _BAURLDownload extends _BADownload {
    static alloc(): _BAURLDownload;
    static new(): _BAURLDownload;
    init(): _BAURLDownload;
    /**
     * @abstract Constructs a download object to represent the download of a asset located inside of the provided @c request. @param identifier A unique identifier that is used to track the download across the app and extension. @param request The request used to perform the download. The URL provided inside of the request must be a https scheme. @param fileSize The size of the file to download. This field must be accurate in order to show the user accurate progress during app installation. If the size does not match the file being downloaded, then the download will fail. @param applicationGroupIdentifier The identifier of the application group that should used to store the finished download.
     */
    initWithIdentifier$request$fileSize$applicationGroupIdentifier$(identifier: _NSString, request: _NSURLRequest, fileSize: number, applicationGroupIdentifier: _NSString): _BAURLDownload;
    /**
     * @abstract Constructs a download object to represent the download of a asset located inside of the provided @c request. @param identifier A unique identifier that is used to track the download across the app and extension. @param request The request used to perform the download. The URL provided inside of the request must be a https scheme. @param essential Whether the download is essential. See @c BADownload.isEssential. Default is false. @param fileSize The size of the file to download. This field must be accurate in order to show the user accurate progress during app installation. If the size does not match the file being downloaded, then the download will fail. @param applicationGroupIdentifier The identifier of the application group that should used to store the finished download. @param priority A priority between @c BADownloaderPriorityMin - @c BADownloaderPriorityMax which is used to order the downloads for this process. It is recommended to use @c BADownloaderPriorityDefault if download priority does not matter.
     */
    initWithIdentifier$request$essential$fileSize$applicationGroupIdentifier$priority$(identifier: _NSString, request: _NSURLRequest, essential: boolean, fileSize: number, applicationGroupIdentifier: _NSString, priority: BADownloaderPriority): _BAURLDownload;
    /**
     * @abstract Constructs a download object to represent the download of a asset located inside of the provided @c request. @param identifier A unique identifier that is used to track the download across the app and extension. @param request The request used to perform the download. The URL provided inside of the request must be a https scheme. @param applicationGroupIdentifier The identifier of the application group that should used to store the finished download.
     * @deprecated initWithIdentifier:request:fileSize:applicationGroupIdentifier:
     */
    initWithIdentifier$request$applicationGroupIdentifier$(identifier: _NSString, request: _NSURLRequest, applicationGroupIdentifier: _NSString): _BAURLDownload;
    /**
     * @abstract Constructs a download object to represent the download of a asset located inside of the provided @c request. @param identifier A unique identifier that is used to track the download across the app and extension. @param request The request used to perform the download. The URL provided inside of the request must be a https scheme. @param applicationGroupIdentifier The identifier of the application group that should used to store the finished download. @param priority A priority between @c BADownloaderPriorityMin - @c BADownloaderPriorityMax which is used to order the downloads for this process. It is recommended to use @c BADownloaderPriorityDefault if download priority does not matter.
     * @deprecated initWithIdentifier:request:essential:fileSize:applicationGroupIdentifier:priority:
     */
    initWithIdentifier$request$applicationGroupIdentifier$priority$(identifier: _NSString, request: _NSURLRequest, applicationGroupIdentifier: _NSString, priority: BADownloaderPriority): _BAURLDownload;
}
export interface _BAURLDownload extends _NSCopying {
}
