import { CryptoAlgorithm } from '../crypto/index.js'; import { ManagedKey, PortableKey, SignOptions, VerifyOptions, DecryptOptions, EncryptOptions, ManagedKeyPair, ManagedKeyStore, GenerateKeyType, PortableKeyPair, UpdateKeyOptions, DeriveBitsOptions, ManagedPrivateKey, GenerateKeyOptions, KeyManagementSystem, GenerateKeyOptionTypes } from './types/managed-key.js'; import { IDManagedAgent } from './types/agent.js'; export type AlgorithmImplementation = typeof CryptoAlgorithm & { new (): CryptoAlgorithm; }; export type AlgorithmImplementations = { [algorithmName: string]: AlgorithmImplementation; }; export type KmsOptions = { agent?: IDManagedAgent; cryptoAlgorithms?: AlgorithmImplementations; keyStore?: ManagedKeyStore; kmsName: string; privateKeyStore?: ManagedKeyStore; }; export declare const defaultAlgorithms: AlgorithmImplementations; export declare class LocalKms implements KeyManagementSystem { /** * Holds the instance of a `IDManagedAgent` that represents the current * execution context for the `KeyManager`. This agent is utilized * to interact with other agent components. It's vital * to ensure this instance is set to correctly contextualize * operations within the broader agent framework. */ private _agent?; private _name; private _keyStore; private _privateKeyStore; private _supportedAlgorithms; constructor(options: KmsOptions); /** * Retrieves the `IDManagedAgent` execution context. * If the `agent` instance proprety is undefined, it will throw an error. * * @returns The `IDManagedAgent` instance that represents the current execution * context. * * @throws Will throw an error if the `agent` instance property is undefined. */ get agent(): IDManagedAgent; set agent(agent: IDManagedAgent); decrypt(options: DecryptOptions): Promise; deriveBits(options: DeriveBitsOptions): Promise; encrypt(options: EncryptOptions): Promise; generateKey(options: GenerateKeyOptions): Promise>; getKey(options: { keyRef: string; }): Promise; importKey(options: PortableKeyPair): Promise; importKey(options: PortableKey): Promise; sign(options: SignOptions): Promise; updateKey(options: UpdateKeyOptions): Promise; verify(options: VerifyOptions): Promise; private getAlgorithm; private registerSupportedAlgorithms; private toCryptoKey; private toManagedKey; } //# sourceMappingURL=kms-local.d.ts.map