import { KeyStorageAdapter } from '../core/types'; export declare const DEFAULT_INSTANCE = "default"; /** * The database backing an instance's keys. * * Exported so the rule can be tested directly: if two instances ever resolve to * one database they share a keypair, publish the same public key under both user * ids, and become linkable, with nothing visible to say so. */ export declare function dbNameFor(instanceName?: string): string; export declare class IndexedDbKeyStorage implements KeyStorageAdapter { private readonly fallback; private readonly dbName; /** * Each named instance gets a database of its own. Two identities sharing one * database would share one messaging keypair, which publishes the same public * key under both user ids and links them to anyone who looks, defeating the * point of running a second identity at all. * * The default instance keeps the original database name, so an app upgrading * to a version with named instances keeps the identity it already had. */ constructor(instanceName?: string); get(key: string): Promise; set(key: string, value: string): Promise; remove(key: string): Promise; private isIndexedDbAvailable; private openDb; }