/** * Storage utility functions for cloud provider operations */ import { IStorageProviderConfig, IDownloadResult, IDeleteResult, IListFilesResult, ISignedUrlResult, IStorageStatsResult, StorageFileType } from '../types'; interface UploadBlobOptions { data: string | Buffer; destinationPath: string; config: IStorageProviderConfig; mimeType?: string; } interface DownloadBlobOptions { filePath: string; config: IStorageProviderConfig; } interface DeleteBlobOptions { filePath: string; config: IStorageProviderConfig; } interface ListBlobsOptions { prefix?: string; fileType?: StorageFileType; maxResults?: number; continuationToken?: string; config: IStorageProviderConfig; } interface SignedUrlOptions { filePath: string; config: IStorageProviderConfig; expiresIn?: number; action?: 'read' | 'write'; } interface StatsOptions { prefix?: string; config: IStorageProviderConfig; } /** * Upload a file to cloud storage */ export declare function uploadBlobToCloud({ data, destinationPath, config, mimeType, }: UploadBlobOptions): Promise; /** * Download a file from cloud storage */ export declare function downloadBlobFromCloud({ filePath, config, }: DownloadBlobOptions): Promise; /** * Delete a file from cloud storage */ export declare function deleteBlobFromCloud({ filePath, config, }: DeleteBlobOptions): Promise; /** * List files in cloud storage with pagination and optional file type filtering * When fileType is specified, fetches and filters files server-side to return only matching types */ export declare function listBlobsInCloud({ prefix, fileType, maxResults, continuationToken, config, }: ListBlobsOptions): Promise; /** * Generate a signed URL for temporary access */ export declare function generateSignedUrl({ filePath, config, expiresIn, action, }: SignedUrlOptions): Promise; /** * Get storage statistics (file counts and sizes by type) * Uses provider-native pagination to efficiently count all files without loading full content */ export declare function getStorageStats({ prefix, config, }: StatsOptions): Promise; export {};