/// export type StorageType = StorageTypeFilesystem | StorageTypeAmazon | StorageTypeGoogle; export type StorageTypeFilesystem = 'filesystem'; export type StorageTypeAmazon = 'amazon'; export type StorageTypeGoogle = 'google'; export interface StorageTypeData { filesystem: StorageTypeFilesystem; amazon: StorageTypeAmazon; google: StorageTypeGoogle; } export interface Storage { download: StorageDownload; downloadAll: StorageDownloadAll; upload: StorageUpload; obliterate: StorageObliterate; obliterateAll: StorageObliterateAll; generateLocations: StorageGenerateLocations; readDirectory: StorageReadDirectory; } export type StorageDownload = (filename: string) => Promise; export type StorageDownloadAll = (directory: string) => Promise; export type StorageUpload = (filename: string, data: Buffer, kind?: StorageUploadKind) => Promise; export type StorageObliterate = (filename: string) => Promise; export type StorageObliterateAll = (path: string) => Promise; export type StorageGenerateLocations = () => Promise; export type StorageReadDirectory = (path: string) => Promise; export type StorageUploadKind = 'write' | 'append';