import { CreateFolderPayload, CreateFolderResponse, DeleteFilePayload, DriveFileData, FetchFolderContentResponse, FileEntry, MoveFilePayload, MoveFileResponse, MoveFolderPayload, MoveFolderResponse, UpdateFilePayload, UpdateFolderMetadataPayload, FetchLimitResponse, UsageResponse, AddItemsToTrashPayload, ThumbnailEntry, Thumbnail } from './types'; import { ApiSecurity, ApiUrl, AppDetails } from '../../shared'; import { RequestCanceler } from '../../shared/http/client'; export * as StorageTypes from './types'; export declare class Storage { private readonly client; private readonly appDetails; private readonly apiSecurity; static client(apiUrl: ApiUrl, appDetails: AppDetails, apiSecurity: ApiSecurity): Storage; private constructor(); /** * Creates a new folder * @param payload */ createFolder(payload: CreateFolderPayload): [Promise, RequestCanceler]; /** * Moves a specific folder to a new location * @param payload */ moveFolder(payload: MoveFolderPayload): Promise; /** * Updates the metadata of a folder * @param payload */ updateFolder(payload: UpdateFolderMetadataPayload): Promise; /** * Fetches & returns the contents of a specific folder * @param folderId */ getFolderContent(folderId: number, trash?: boolean): [Promise, RequestCanceler]; /** * Removes a specific folder from the centralized persistence * @param folderId */ deleteFolder(folderId: number): Promise; /** * Returns the total size of a folder * @param folderId */ getFolderSize(folderId: number): Promise; /** * Creates a new file entry * @param fileEntry */ createFileEntry(fileEntry: FileEntry): Promise; /** * Creates a new thumbnail entry * @param thumbnailEntry */ createThumbnailEntry(thumbnailEntry: ThumbnailEntry): Promise; /** * Updates the details of a file entry * @param payload */ updateFile(payload: UpdateFilePayload): Promise; /** * Deletes a specific file entry * @param payload */ deleteFile(payload: DeleteFilePayload): Promise; /** * Updates the persisted path of a file entry * @param payload */ moveFile(payload: MoveFilePayload): Promise; /** * Returns a list of the n most recent files * @param limit */ getRecentFiles(limit: number): Promise; /** * Returns a list of items in trash */ getTrash(): [Promise, RequestCanceler]; /** * Add Items to Trash * @param payload */ addItemsToTrash(payload: AddItemsToTrashPayload): Promise; /** * Returns the current space usage of the user */ spaceUsage(): Promise; /** * Returns the current space limit for the user */ spaceLimit(): Promise; /** * Returns the needed headers for the module requests * @private */ private headers; }