import type { StorageBackend } from './types';
export declare class S3StorageBackend implements StorageBackend {
    private client;
    private signingClient;
    private bucket;
    private bucketReady;
    constructor();
    private ensureBucket;
    write(key: string, data: Buffer): Promise<{
        ref: string;
        size: number;
    }>;
    read(key: string): Promise<{
        data: Buffer;
        size: number;
    }>;
    list(prefix?: string, pattern?: string): Promise<{
        files: Array<{
            path: string;
            size: number;
            modified_at: string;
        }>;
    }>;
    delete(key: string): Promise<{
        deleted: boolean;
    }>;
    getLocalPath(key: string): Promise<string>;
    commitLocalPath(key: string, localPath: string): Promise<{
        size: number;
    }>;
    createReadStream(key: string): Promise<NodeJS.ReadableStream>;
    listWithPrefixes(prefix?: string, pageSize?: number, continuationToken?: string): Promise<{
        files: Array<{
            path: string;
            size: number;
            modified_at: string;
        }>;
        directories: string[];
        nextToken?: string;
    }>;
    getMetadata(key: string): Promise<{
        size: number;
        modified_at: string;
        content_type: string;
    }>;
    getSignedUrl(key: string, expiresInSeconds: number): Promise<string>;
}
