import { AbstractTransfer } from './index';
import { Download, TransferEventCallback, TransferEventType } from '../../external';
import TransferClient from '../services/TransferClient';
import TransferDirection from '../../external/transfer/TransferDirection';
/**
 * @ignore
 */
export default abstract class AbstractDownload extends AbstractTransfer implements Download {
    private _destinationFolder;
    protected constructor(transferClient: TransferClient);
    openDestinationFolder(): Promise<void>;
    subscribe(eventType: TransferEventType, listener: TransferEventCallback<Download>): void;
    unsubscribe(eventType: TransferEventType): boolean;
    start(): Promise<void>;
    getTransferDirection(): TransferDirection;
    get destinationFolder(): string;
    selectDestinationFolder(): Promise<void>;
    executeTransferCommand(): Promise<void>;
}
//# sourceMappingURL=AbstractDownload.d.ts.map