/**
 * Storage Integration Manager
 * Handles Supabase Storage operations, file uploads, and media record management
 */
import type { createClient } from '@supabase/supabase-js';
import { StorageConfig, StorageBatchUploadResult, StoragePermissionCheck, StorageQuotaInfo, StorageIntegrationResult, GeneratedImage } from './storage-types';
type SupabaseClient = ReturnType<typeof createClient>;
export declare class StorageIntegrationManager {
    private client;
    private imageGenerator;
    private config;
    private uploadQueue;
    constructor(client: SupabaseClient, config?: Partial<StorageConfig>);
    /**
     * Main method to seed storage files for a setup
     */
    seedWithStorageFiles(setupId: string, accountId?: string, customConfig?: Partial<StorageConfig>): Promise<StorageIntegrationResult>;
    /**
     * Upload a single image to storage
     */
    private uploadImageToStorage;
    /**
     * Check storage permissions and RLS policies
     */
    checkStoragePermissions(bucketName: string): Promise<StoragePermissionCheck>;
    /**
     * Get RLS policies affecting storage
     */
    private getRLSPolicies;
    /**
     * Get storage quota information
     */
    getStorageQuota(bucketName: string): Promise<StorageQuotaInfo>;
    /**
     * Batch upload multiple files
     */
    batchUpload(files: GeneratedImage[], setupId: string, accountId?: string, config?: Partial<StorageConfig>): Promise<StorageBatchUploadResult>;
    /**
     * Update configuration
     */
    updateConfig(newConfig: Partial<StorageConfig>): void;
    /**
     * Get current configuration
     */
    getConfig(): StorageConfig;
    /**
     * Get domain-specific configuration
     */
    static getDomainConfig(domain: string): Partial<StorageConfig>;
    /**
     * Utility methods
     */
    private getFileExtension;
    private generateId;
    private formatFileSize;
    private calculateProjectedFullDate;
    private chunkArray;
    /**
     * Clean up resources
     */
    cleanup(): Promise<void>;
}
export {};
//# sourceMappingURL=storage-integration-manager.d.ts.map