/**
 * 下载请求配置类型
 *
 * 基于 GM_download API 的配置参数，提供进度监控和错误处理回调
 */
export type DownloadRequest = Omit<GMTypes.DownloadDetails<string | Blob | File>, 'url' | 'name' | 'onerror' | 'onprogress'> & {
    /** 下载失败时的回调函数 */
    onerror?: (error: GMTypes.DownloadError) => void;
    /** 下载进度变化的回调函数 */
    onprogress?: (response: {
        done: number;
        lengthComputable: boolean;
        loaded: number;
        position?: number;
        total: number;
        totalSize: number;
    }, abortHandle: GMTypes.AbortHandle<boolean>) => void;
};
/**
 * 下载 URL 指向的文件
 *
 * 封装 GM_download API，提供 Promise 化的文件下载能力，
 * 支持进度监控、错误处理和超时控制。
 *
 * @param url 文件下载地址
 * @param filename 保存的文件名
 * @param details 下载配置项（可选）
 * @returns Promise<boolean> 下载成功时解析为 true
 *
 * @warn 需要授权函数 `GM_download`
 *
 * @example
 * ```ts
 * // 基本下载
 * await gmDownload('https://example.com/image.png', 'image.png');
 *
 * // 带进度监控的下载
 * await gmDownload('https://example.com/file.zip', 'file.zip', {
 *   onprogress: (progress, abort) => {
 *     console.log(`进度: ${progress.loaded}/${progress.total}`);
 *   }
 * });
 * ```
 */
declare const gmDownload: {
    (url: string, filename: string, details?: DownloadRequest): Promise<boolean>;
    blob(blob: Blob | File, filename: string, details?: DownloadRequest): Promise<boolean>;
    text(content: string, filename: string, mimeType?: string, details?: DownloadRequest): Promise<boolean>;
};
export { gmDownload };
