@gensx/storage
Version:
Cloud storage, blobs, sqlite, and vector database providers/hooks for GenSX.
51 lines • 1.71 kB
TypeScript
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