import type { URI } from "@adviser/cement"; import type { SuperThis } from "../types/sthis.js"; import type { JWKPrivate } from "../types/wire.js"; import type { DeviceIdResult, DeviceIdKeyBagItem } from "../types/keybag-item.js"; export declare class DeviceIdKeybagUnreadableError extends Error { constructor(cause: unknown); } export declare function isUnreadableDeviceIdKeybagError(error: unknown): boolean; export interface KeyBagProvider { get(id: string): Promise; set(id: string, item: unknown): Promise; del(id: string): Promise; } export interface KeyBagRuntime { readonly url: URI; readonly sthis: SuperThis; getBagProvider(): Promise; id(): string; } export declare class KeyBag { #private; readonly rt: KeyBagRuntime; static create(rt: KeyBagRuntime): Promise; private constructor(); provider: () => Promise; getDeviceId(): Promise; setDeviceId(_deviceId: JWKPrivate, _cert?: DeviceIdKeyBagItem["cert"]): Promise; }