import { FileUploadResult, PresignedUrlResult, FileInput, StorageConfig } from './types/storage.types.js';
/**
 * Main storage manager class
 */
export declare class StorageManager {
    private driver;
    private config;
    private isInitialized;
    constructor();
    /**
     * Initialize storage manager with custom configuration
     */
    static initialize(config?: Partial<StorageConfig>): StorageManager;
    /**
     * Upload a single file
     */
    uploadFile(file: Express.Multer.File): Promise<FileUploadResult>;
    /**
     * Upload multiple files
     */
    uploadFiles(files: Express.Multer.File[]): Promise<FileUploadResult[]>;
    /**
     * Upload files with input type detection
     */
    upload(input: FileInput): Promise<FileUploadResult | FileUploadResult[]>;
    /**
     * Generate upload URL for presigned uploads
     */
    generateUploadUrl(fileName: string): Promise<PresignedUrlResult>;
    /**
     * Generate view URL for presigned uploads
     */
    generateViewUrl(fileName: string): Promise<PresignedUrlResult>;
    /**
     * Generate multiple upload URLs
     */
    generateUploadUrls(fileNames: string[]): Promise<PresignedUrlResult[]>;
    /**
     * Generate multiple view URLs
     */
    generateViewUrls(fileNames: string[]): Promise<PresignedUrlResult[]>;
    /**
     * Delete a single file
     */
    deleteFile(fileName: string): Promise<boolean>;
    /**
     * Delete multiple files
     */
    deleteFiles(fileNames: string[]): Promise<boolean[]>;
    /**
     * Get current configuration
     */
    getConfig(): StorageConfig;
    /**
     * Get current driver type
     */
    getDriverType(): string;
    /**
     * Check if presigned URLs are supported
     */
    isPresignedSupported(): boolean;
    /**
     * Get available drivers
     */
    static getAvailableDrivers(): string[];
    /**
     * Clear driver cache
     */
    static clearCache(): void;
    /**
     * Ensure storage manager is initialized
     */
    private ensureInitialized;
}
//# sourceMappingURL=storage-manager.d.ts.map