UNPKG

@gensx/storage

Version:

Cloud storage, blobs, sqlite, and vector database providers/hooks for GenSX.

56 lines 2.03 kB
import { Readable } from "stream"; import { Blob, BlobOptions, BlobResponse, BlobStorage, DeleteBlobResult, ListBlobsOptions, ListBlobsResponse } from "./types.js"; /** * Implementation of Blob interface for remote cloud storage */ export declare class RemoteBlob<T> implements Blob<T> { private key; private baseUrl; private apiKey; private org; private project; private environment; constructor(key: string, baseUrl: string, apiKey: string, org: string, project: string, environment: string); getJSON(): Promise<T | null>; getString(): Promise<string | null>; getRaw(): Promise<BlobResponse<Buffer> | null>; getStream(): Promise<Readable>; putJSON(value: T, options?: BlobOptions): Promise<{ etag: string; }>; putString(value: string, options?: BlobOptions): Promise<{ etag: string; }>; /** * Put raw binary data into the blob. * @param value The binary data to store * @param options Optional metadata and content type */ putRaw(value: Buffer, options?: BlobOptions): Promise<{ etag: string; }>; putStream(stream: Readable, options?: BlobOptions): Promise<{ etag: string; }>; delete(): Promise<void>; exists(): Promise<boolean>; getMetadata(): Promise<Record<string, string> | null>; updateMetadata(metadata: Record<string, string>, options?: BlobOptions): Promise<void>; } /** * Remote implementation of blob storage using GenSX Console API */ export declare class RemoteBlobStorage implements BlobStorage { private apiKey; private apiBaseUrl; private org; private project; private environment; private defaultPrefix?; constructor(project: string, environment: string, defaultPrefix?: string); getBlob<T>(key: string): Blob<T>; listBlobs(options?: ListBlobsOptions): Promise<ListBlobsResponse>; blobExists(key: string): Promise<boolean>; deleteBlob(key: string): Promise<DeleteBlobResult>; } //# sourceMappingURL=remote.d.ts.map