import { AViewerPluginSync, ThreeViewer } from '../../viewer';
/**
 * File Transfer Plugin
 *
 * Provides a way to extend the viewer.export functionality with custom actions. Used in `AWSClientPlugin` to upload files directly to S3.
 *
 * @category Plugins
 */
export declare class FileTransferPlugin extends AViewerPluginSync<'transferFile'> {
    enabled: boolean;
    static readonly PluginType = "FileTransferPlugin";
    toJSON: any;
    exportFile(file: File | Blob, name?: string): Promise<void>;
    readonly defaultActions: {
        exportFile: (blob: Blob, name: string, _onProgress?: (d: {
            state?: string;
            progress?: number;
        }) => void) => Promise<void>;
    };
    constructor();
    onAdded(viewer: ThreeViewer): void;
    onRemove(viewer: ThreeViewer): void;
    protected _updateProcessState(data: {
        path: string;
        state: string;
        progress?: number;
    }): void;
    actions: {
        exportFile: (blob: Blob, name: string, _onProgress?: (d: {
            state?: string;
            progress?: number;
        }) => void) => Promise<void>;
    };
}
//# sourceMappingURL=FileTransferPlugin.d.ts.map