export declare const ObjectStorePreconditionCode: { readonly ifMatchFailed: "object-store.if-match-failed"; readonly ifNotExistsFailed: "object-store.if-not-exists-failed"; }; export type ObjectStorePreconditionCode = typeof ObjectStorePreconditionCode[keyof typeof ObjectStorePreconditionCode]; export declare class ObjectStorePreconditionError extends Error { readonly code: ObjectStorePreconditionCode; readonly key: string; constructor(code: ObjectStorePreconditionCode, key: string, message: string); } export interface ObjectStoreMetadata { readonly cacheControl?: string; readonly contentEncoding?: string; readonly contentLength?: number; readonly contentType?: string; readonly etag?: string; readonly lastModified?: number; readonly metadata?: Readonly>; } export interface ObjectStoreGetResult { readonly body: Uint8Array; readonly metadata: ObjectStoreMetadata; } export interface ObjectStorePutOptions { readonly cacheControl?: string; readonly contentEncoding?: string; readonly contentType?: string; readonly ifMatch?: string; readonly ifNotExists?: boolean; readonly metadata?: Readonly>; } export interface ObjectStorePutResult { readonly etag?: string; } export interface ObjectStoreListPageOptions { readonly continuationToken?: string; readonly maximumKeys?: number; readonly prefix?: string; } export interface ObjectStoreListPage { readonly continuationToken?: string; readonly isTruncated: boolean; readonly keys: readonly string[]; } export interface ObjectStoreReader { get(key: string): Promise; getWithMetadata(key: string): Promise; list(prefix?: string): Promise; listPage(options?: ObjectStoreListPageOptions): Promise; stat(key: string): Promise; } export interface ObjectStoreWriter extends ObjectStoreReader { delete(key: string): Promise; put(key: string, body: string | Uint8Array, options?: ObjectStorePutOptions): Promise; } export interface ObjectStoreRoute { readonly matches: (key: string) => boolean; readonly store: ObjectStoreWriter; } export declare function normalizeObjectStoreKey(value: string, allowEmpty?: boolean): string; /** Narrows one object store to a stable relative prefix without exposing its physical backend. */ export declare class PrefixedObjectStore implements ObjectStoreWriter { private readonly prefix; private readonly store; constructor(store: ObjectStoreWriter, prefix: string); delete(key: string): Promise; get(key: string): Promise; getWithMetadata(key: string): Promise; list(prefix?: string): Promise; listPage(options?: ObjectStoreListPageOptions): Promise; put(key: string, body: string | Uint8Array, options?: ObjectStorePutOptions): Promise; stat(key: string): Promise; } /** Routes selected keys to specialized stores while retaining one logical object-store surface. */ export declare class RoutedObjectStore implements ObjectStoreWriter { private readonly primary; private readonly routes; constructor(primary: ObjectStoreWriter, routes: readonly ObjectStoreRoute[]); delete(key: string): Promise; get(key: string): Promise; getWithMetadata(key: string): Promise; list(prefix?: string): Promise; listPage(options?: ObjectStoreListPageOptions): Promise; put(key: string, body: string | Uint8Array, options?: ObjectStorePutOptions): Promise; stat(key: string): Promise; private store; } //# sourceMappingURL=objectStore.d.ts.map