import { Config, KeyStore, Msg, PublicKey } from "keystore-idb/types.js";
export default class InMemoryRSAKeyStore implements KeyStore {
    cfg: Config;
    exchangeKeyPair: CryptoKeyPair;
    writeKeyPair: CryptoKeyPair;
    inMemoryStore: Record<string, CryptoKey>;
    constructor(cfg: Config, exchangeKeyPair: CryptoKeyPair, writeKeyPair: CryptoKeyPair);
    static init(maybeCfg?: Partial<Config>): Promise<InMemoryRSAKeyStore>;
    exchangeKey(): Promise<CryptoKeyPair>;
    writeKey(): Promise<CryptoKeyPair>;
    getSymmKey(keyName: string, cfg?: Partial<Config>): Promise<CryptoKey>;
    keyExists(keyName: string): Promise<boolean>;
    deleteKey(keyName: string): Promise<void>;
    destroy(): Promise<void>;
    importSymmKey(keyStr: string, keyName: string, cfg?: Partial<Config>): Promise<void>;
    exportSymmKey(keyName: string, cfg?: Partial<Config>): Promise<string>;
    encryptWithSymmKey(msg: string, keyName: string, cfg?: Partial<Config>): Promise<string>;
    decryptWithSymmKey(cipherText: string, keyName: string, cfg?: Partial<Config>): Promise<string>;
    sign(msg: Msg, cfg?: Partial<Config>): Promise<string>;
    verify(msg: string, sig: string, publicKey: string | PublicKey, cfg?: Partial<Config>): Promise<boolean>;
    encrypt(msg: Msg, publicKey: string | PublicKey, cfg?: Partial<Config>): Promise<string>;
    decrypt(cipherText: Msg, publicKey?: string | PublicKey, // unused param so that keystore interfaces match
    cfg?: Partial<Config>): Promise<string>;
    publicExchangeKey(): Promise<string>;
    publicWriteKey(): Promise<string>;
}
