import { Subject } from 'rxjs';
import { Mount } from './provider';
import { ProviderDriver } from './provider-driver';
/**
 * FileSync is a class that handles file transfers between mounts and providers.
 * It is used by the FdpConnectProvider to handle file transfers.
 */
export declare class FileSync {
    private transferToProvider;
    onStart: Subject<{
        file: File;
        mount: Mount;
    }>;
    onComplete: Subject<{
        result: any;
    }>;
    onError: Subject<Error>;
    /**
     * Creates a new FileSync instance.
     * @param transferToProvider ProviderDriver to transfer files to
     * @returns FileSync instance
     */
    constructor(transferToProvider: ProviderDriver);
    /**
     * Moves a file from one mount to another
     * @param file File to transfer
     * @param mount Destination mount
     * @param onProgress
     */
    transfer(file: File, mount: Mount): Promise<void>;
}
