import type { DocumentLoader } from "../runtime/docloader.js";
import type { KeyCache } from "../sig/key.js";
import { CryptographicKey, Multikey } from "../vocab/vocab.js";
import type { KvKey, KvStore } from "./kv.js";
export interface KvKeyCacheOptions {
    documentLoader?: DocumentLoader;
    contextLoader?: DocumentLoader;
}
export declare class KvKeyCache implements KeyCache {
    readonly kv: KvStore;
    readonly prefix: KvKey;
    readonly options: KvKeyCacheOptions;
    readonly nullKeys: Set<string>;
    constructor(kv: KvStore, prefix: KvKey, options?: KvKeyCacheOptions);
    get(keyId: URL): Promise<CryptographicKey | Multikey | null | undefined>;
    set(keyId: URL, key: CryptographicKey | Multikey | null): Promise<void>;
}
//# sourceMappingURL=keycache.d.ts.map