import type { LocalKeyHandle } from './handles'; import type { KeyAlgs, SigAlgs } from '../enums'; import type { KeyBackend } from '../enums'; import { KeyMethod } from '../enums'; import { Jwk } from './Jwk'; export declare class Key { private localKeyHandle; constructor(handle: LocalKeyHandle); static generate(algorithm: KeyAlgs, keyBackend?: KeyBackend, ephemeral?: boolean): Key; static fromSeed({ method, algorithm, seed, }: { algorithm: KeyAlgs; seed: Uint8Array; method?: KeyMethod; }): Key; static fromSecretBytes(options: { algorithm: KeyAlgs; secretKey: Uint8Array; }): Key; static fromPublicBytes(options: { algorithm: KeyAlgs; publicKey: Uint8Array; }): Key; static fromJwk(options: { jwk: Jwk; }): Key; convertkey(options: { algorithm: KeyAlgs; }): Key; keyFromKeyExchange({ algorithm, publicKey }: { algorithm: KeyAlgs; publicKey: Key; }): Key; get handle(): LocalKeyHandle; get algorithm(): KeyAlgs; get ephemeral(): boolean; get publicBytes(): Uint8Array; get secretBytes(): Uint8Array; get jwkPublic(): Jwk; get jwkSecret(): Jwk; get jwkThumbprint(): string; get aeadParams(): import("..").AeadParams; get aeadRandomNonce(): Uint8Array; aeadEncrypt(options: { message: Uint8Array; nonce?: Uint8Array; aad?: Uint8Array; }): import("..").EncryptedBuffer; aeadDecrypt(options: { ciphertext: Uint8Array; nonce: Uint8Array; tag?: Uint8Array; aad?: Uint8Array; }): Uint8Array; signMessage(options: { message: Uint8Array; sigType?: SigAlgs; }): Uint8Array; verifySignature(options: { message: Uint8Array; signature: Uint8Array; sigType?: SigAlgs; }): boolean; wrapKey({ other, nonce }: { other: Key; nonce?: Uint8Array; }): import("..").EncryptedBuffer; unwrapKey(options: { algorithm: KeyAlgs; tag?: Uint8Array; ciphertext: Uint8Array; nonce?: Uint8Array; }): Key; }