import { Resource } from '../../../../model/service/resource'; declare abstract class AbstractDownloader { protected readonly _resource: Resource; protected _isAborted: boolean; protected constructor(_resource: Resource); protected get _isComplete(): boolean; fetch(): Promise; protected _beforeFetch(): Promise; protected abstract _fetching(): Promise; protected _afterFetch(): Promise; abort(): Promise; protected abstract _abort(): Promise; protected _throwIfAborted(): Promise; } export { AbstractDownloader };