import { signiant_private, TransferEventType, TransferEvent, TransferEventCallback, Download } from '@signiant/media-shuttle-sdk-base';
import PlatformService from '../services/PlatformService';
import PlatformDownloadOptions from '../../external/transfer/PlatformDownloadOptions';
export interface PlatformDownloadParams extends PlatformDownloadOptions {
    transferClient: signiant_private.TransferClient;
    platformService: PlatformService;
}
export default class PlatformDownload extends signiant_private.AbstractDownload {
    private readonly _platformService;
    private readonly _eventListeners;
    private _plaformTransferEventHandler;
    private accountId;
    private serviceId;
    private portalId;
    private files;
    /**
     * Coverage seems to think there is a branch here?
     */
    constructor(options: PlatformDownloadParams);
    populateTransferConfig(): Promise<void>;
    start(): Promise<void>;
    selectDestinationFolder(): Promise<void>;
    retry(): Promise<void>;
    subscribe(eventType: TransferEventType, listener: TransferEventCallback<Download>): void;
    notifyTransferError(errorCode: string, errorMessage: string): void;
    unsubscribe(eventType: TransferEventType): boolean;
    onTransferEvent(event: TransferEvent): Promise<void>;
}
//# sourceMappingURL=PlatformDownload.d.ts.map