import { Bucket } from './Bucket' ; import { Path } from './Path' ; import { Folder } from './Folder' ; import { IFolderContents } from './IFolderContents' ; import { IUploadConfig } from './IUploadConfig' ; import { File } from './File' ; import { IFileVersion } from './IFileVersion' ; export interface IBackend { /**
     * Get a bucket with the given name.
     */ getBucket ( name ) : Promise < Bucket > ; /**
     * Get the contents of a folder.
     */ getContents ( bucket , folder ) : Promise < IFolderContents > ; /**
     * Get the contents of a folder.
     */ getDeletedContents ( bucket , folder ) : Promise < IFolderContents > ; /**
     * Create a folder.
     */ createFolder ( bucket , folder ) : Promise < any > ; /**
     * Delete a folder and its contents.
     */ deleteFolder ( bucket , folder ) : Promise < any > ; /**
     * Get settings necessary to upload files to the given folder.
     */ getUploadConfig ( bucket , folder ) : IUploadConfig ; /**
     * Get versions of the given file.
     */ getFileVersions ( bucket , file ) : Promise < IFileVersion [ ] > ; /**
     * Get full file path given a folder and file.
     */ getFilePath ( folder , file ) : string ; /**
     * Delete a file.
     */ deleteFile ( bucket , file ) : Promise < any > ; /**
     * Upload a file.
     */ uploadFile ( params ) : Promise < any > ; /**
     * Cancel file upload
     */ cancelUpload ( params ) : Promise < any > ; }