import { Blob, BlobStorage, DeleteBlobResult, ListBlobsOptions, ListBlobsResponse } from "./types.js";
/**
 * FileSystem implementation of blob storage
 */
export declare class FileSystemBlobStorage implements BlobStorage {
    private rootDir;
    private defaultPrefix?;
    /**
     * Create a new FileSystemBlobStorage
     * @param rootDir The root directory for blob storage
     * @param defaultPrefix Optional default prefix for all blob keys
     */
    constructor(rootDir: string, defaultPrefix?: string | undefined);
    /**
     * Ensure the root directory exists
     * @throws BlobError if there's an error creating the directory
     */
    private ensureRootDir;
    /**
     * Get the full path for a blob key
     * @param key The blob key
     * @returns The full path to the blob
     */
    private getFullPath;
    /**
     * Get a blob by key
     * @param key The blob key
     * @returns A Blob instance for the given key
     */
    getBlob<T>(key: string): Blob<T>;
    /**
     * List all blobs with optional pagination
     * @param options Options for listing blobs including prefix and pagination
     * @returns A paginated list of blob keys
     * @throws BlobError if there's an error listing blobs
     */
    listBlobs(options?: ListBlobsOptions): Promise<ListBlobsResponse>;
    /**
     * Check if a blob exists
     * @param key The blob key
     * @returns True if the blob exists, false otherwise
     */
    blobExists(key: string): Promise<boolean>;
    /**
     * Delete a blob
     * @param key The blob key
     * @returns The result of the delete operation
     */
    deleteBlob(key: string): Promise<DeleteBlobResult>;
}
//# sourceMappingURL=filesystem.d.ts.map