/// <reference types="chrome" />
import { AbstractMock } from '../../../pages/web/mocks/utils.mock';
import type { DownloadItem } from '../../../utils';
export declare const generateDownload: (_download?: Partial<DownloadItem>) => DownloadItem;
type DownloadEntities = Record<string, DownloadItem>;
export declare class DownloadMock extends AbstractMock<DownloadEntities> {
    readonly key = "synology.mock.download";
    constructor(entities?: DownloadEntities);
    get ids(): string[];
    get downloads(): DownloadItem[];
    get length(): number;
    add(download?: DownloadItem): DownloadEntities;
    remove(id: DownloadItem['id']): boolean;
    pause(id: DownloadItem['id']): chrome.downloads.DownloadItem;
    resume(id: DownloadItem['id']): chrome.downloads.DownloadItem;
    cancel(id: DownloadItem['id']): chrome.downloads.DownloadItem;
}
export declare const activateDownloadDemo: (download: DownloadMock, interval?: number) => NodeJS.Timer;
export declare const patchDownloads: (_global?: Window & typeof globalThis) => typeof chrome.downloads;
export {};
