import { AbstractTransfer } from './index';
import { Upload, TransferEventCallback, TransferEventType, LocalFile } from '../../external';
import TransferClient from '../services/TransferClient';
import TransferDirection from '../../external/transfer/TransferDirection';
export default abstract class AbstractUpload extends AbstractTransfer implements Upload {
    protected _destinationFolder: string;
    protected _selectedFiles: LocalFile[];
    protected constructor(transferClient: TransferClient);
    addFiles(): Promise<LocalFile[]>;
    removeFiles(filePaths: string[]): Promise<LocalFile[]>;
    subscribe(eventType: TransferEventType, listener: TransferEventCallback<Upload>): void;
    unsubscribe(eventType: TransferEventType): boolean;
    start(): Promise<void>;
    getTransferDirection(): TransferDirection;
    get destinationFolder(): string;
    set destinationFolder(portalRootRelativeFolderPath: string);
    executeTransferCommand(): Promise<void>;
}
//# sourceMappingURL=AbstractUpload.d.ts.map