import type { ResourceCacheStorage, ResourceCacheStorageKind } from './types';
export declare class IndexedDbResourceStorage implements ResourceCacheStorage {
    readonly kind: "indexeddb";
    private dbPromise;
    private getDb;
    read(cacheKey: string): Promise<Blob | null>;
    write(cacheKey: string, blob: Blob): Promise<void>;
    delete(cacheKey: string): Promise<void>;
    clear(): Promise<void>;
}
export declare class OpfsResourceStorage implements ResourceCacheStorage {
    readonly kind: "opfs";
    private directoryPromise;
    private getDirectory;
    ensureReady(): Promise<boolean>;
    read(cacheKey: string): Promise<Blob | null>;
    write(cacheKey: string, blob: Blob): Promise<void>;
    delete(cacheKey: string): Promise<void>;
    clear(): Promise<void>;
}
export declare function createMemoryResourceStorage(kind?: ResourceCacheStorageKind): ResourceCacheStorage;
export declare function createResourceCacheStorage(options: {
    preferStorage: ResourceCacheStorageKind;
}): Promise<ResourceCacheStorage>;
