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