/**
 * Storage Module for LocalGreenChain
 * Agent 3: File Upload & Storage System
 *
 * Main entry point for file storage functionality
 */

// Types
export * from './types';

// Configuration
export { getStorageConfig, storageConfig } from './config';

// Services
export { getUploadService, UploadService } from './uploadService';
export { ImageProcessor } from './imageProcessor';
export { getFileStore, FileStore } from './fileStore';

// Providers
export { S3StorageProvider } from './providers/s3';
export { LocalStorageProvider } from './providers/local';

// Re-export commonly used types for convenience
export type {
  FileMetadata,
  FileCategory,
  UploadOptions,
  UploadResult,
  PresignedUrlRequest,
  PresignedUrlResponse,
  ImageSize,
  StorageProvider,
  StorageConfig,
} from './types';
