import { DownloadContext } from '../context';
import { Event, IEventHub } from '../events';
import { ILogger } from '../utilities';
import { BackgroundJob } from './BackgroundJob';

export declare class DownloadSpeedUpdatedEvent extends Event {
    readonly speed: number;
    static readonly type: string;
    /**
     *
     * @param speed bytes per second
     */
    constructor(speed: number);
}
export declare class DownloadSpeedMonitor extends BackgroundJob {
    private eventHub;
    static readonly type: string;
    private static DownloadData;
    private eventHandler?;
    constructor(eventHub: IEventHub, logger: ILogger, context: DownloadContext);
    protected onStart(): void;
    protected onStop(): void;
    private updateDownloadSpeed;
    protected processInternal(_signal: AbortSignal): Promise<void>;
}
