import { type KeyAlgorithm, type KeyPair, type PrivateKey, type PublicKey, type SymmetricKey } from '@opentdf/sdk/singlecontainer'; interface VirtruCryptoKeyHandle { release(): void; [key: string]: unknown; } export type OpaquePublicKey = PublicKey & { readonly _internal: VirtruCryptoKeyHandle; }; export type OpaquePrivateKey = PrivateKey & { readonly _internal: VirtruCryptoKeyHandle; }; export type OpaqueSymmetricKey = SymmetricKey & { readonly _internal: VirtruCryptoKeyHandle; }; export declare const keyFinalizer: FinalizationRegistry<{ release(): void; }>; export declare function wrapPublicKey(key: VirtruCryptoKeyHandle, algorithm: KeyAlgorithm): PublicKey; export declare function wrapPrivateKey(key: VirtruCryptoKeyHandle, algorithm: KeyAlgorithm): PrivateKey; export declare function wrapSymmetricKey(key: VirtruCryptoKeyHandle, lengthBits: number): SymmetricKey; export declare function wrapKeyPair(publicKey: VirtruCryptoKeyHandle, privateKey: VirtruCryptoKeyHandle, algorithm: KeyAlgorithm): KeyPair; export declare function unwrapPublicKey(key: PublicKey): VirtruCryptoKeyHandle; export declare function unwrapPrivateKey(key: PrivateKey): VirtruCryptoKeyHandle; export declare function unwrapSymmetricKey(key: SymmetricKey): VirtruCryptoKeyHandle; export declare function isSymmetricKey(value: unknown): value is SymmetricKey; export {};