import type { PrivateBlobByteRange, PrivateBlobDeleteResult, PrivateBlobHandle, PrivateBlobProvider, PrivateBlobPutInput, PrivateBlobRangeReadResult, PrivateBlobReadResult, PrivateBlobReadUrl, PrivateBlobReadUrlOptions } from "./types.js"; export declare function registerPrivateBlobProvider(provider: PrivateBlobProvider): void; export declare function unregisterPrivateBlobProvider(id: string): void; export declare function listPrivateBlobProviders(): PrivateBlobProvider[]; export declare function getActivePrivateBlobProvider(): PrivateBlobProvider | null; /** * The general provider for this request. Providers that only claim some puts * (`handles`) are never returned here, unless config selects one by id. */ export declare function getActivePrivateBlobProviderForRequest(): Promise; export declare function isPrivateBlobConfiguredForRequest(): Promise; export interface PrivateBlobStorageReadiness { configured: boolean; providerId: string | null; } export declare function getPrivateBlobStorageReadinessForRequest(): Promise; export declare function setPrivateBlobPublicUploadFallbackEnabled(enabled: boolean): void; export declare function putPrivateBlob(input: PrivateBlobPutInput): Promise; export declare function readPrivateBlob(handle: PrivateBlobHandle): Promise; /** * Reads part of a blob. Providers that can't read a range natively, encrypted * blobs, and the encrypted public-upload fallback load the whole blob and * slice it. Throws `PrivateBlobRangeError` when the range is malformed or * starts past the end. */ export declare function readPrivateBlobRange(handle: PrivateBlobHandle, range: PrivateBlobByteRange): Promise; /** * A link that reads the blob straight from storage until it expires, or null * when the blob's provider can't hand one out (the encrypted public-upload * fallback never can). Only call after proving the caller may read the blob. */ export declare function getPrivateBlobReadUrl(handle: PrivateBlobHandle, options: PrivateBlobReadUrlOptions): Promise; export declare function deletePrivateBlob(handle: PrivateBlobHandle): Promise;