export declare const crypto: import("./provider").CryptoProvider; export declare const aesGcmEncrypt: (key: Uint8Array, nonce: Uint8Array, plaintext: Uint8Array, aad: Uint8Array) => import("./provider").AeadResult; export declare const aesGcmDecrypt: (key: Uint8Array, nonce: Uint8Array, ciphertext: Uint8Array, aad: Uint8Array) => Uint8Array; export declare const xchachaEncrypt: (key: Uint8Array, nonce: Uint8Array, plaintext: Uint8Array, aad: Uint8Array) => import("./provider").AeadResult; export declare const xchachaDecrypt: (key: Uint8Array, nonce: Uint8Array, ciphertext: Uint8Array, aad: Uint8Array) => Uint8Array; export declare const argon2id: (opts: import("./provider").Argon2idOptions) => Promise; export declare const hkdfExpand: (ikm: Uint8Array, salt: Uint8Array, info: string, length: number) => Uint8Array; export declare const hkdfJoin: (keys: import("./provider").KeyInput[], context: string) => Uint8Array; export declare const deriveCek: (seed: Uint8Array, context: string) => Uint8Array; export declare const deriveKid: (publicKey: Uint8Array) => string; export declare const deriveSymmetricKid: (key: Uint8Array) => string; export declare const kemGenerateKeypair: () => import("./provider").KemKeypair; export declare const kemEncapsulate: (recipientPublicKey: Uint8Array) => import("./provider").KemEncapResult; export declare const kemDecapsulate: (ciphertext: Uint8Array, secretKey: Uint8Array) => Uint8Array; export declare const kemWrapCek: (cek: Uint8Array, recipientPublicKey: Uint8Array) => Uint8Array; export declare const kemUnwrapCek: (wrappedCek: Uint8Array, secretKey: Uint8Array) => Uint8Array; export declare const shamirSplit: (secret: Uint8Array, threshold: number, totalShares: number) => any[]; export declare const shamirReconstruct: (shares: any[]) => Uint8Array; export declare const shamirSplitAndWrap: (secret: Uint8Array, threshold: number, recipientPublicKeys: unknown) => unknown; export declare const shamirUnwrapAndReconstruct: (wrappedShares: unknown, secretKeys: unknown) => Uint8Array; export declare const SecretShare: any; export declare const randomBytes: (length: number) => Uint8Array; export declare const generateCek: () => Uint8Array; export declare const generateNonceAesGcm: () => Uint8Array; export declare const generateNonceXchacha: () => Uint8Array; export declare const keyCommitment: (cek: Uint8Array) => Uint8Array; export declare const verifyKeyCommitment: (cek: Uint8Array, expectedKcmp: Uint8Array) => boolean; export declare const sha256: (data: Uint8Array) => Uint8Array; export declare const blake2s256: (data: Uint8Array) => Uint8Array; export declare const computeSummary: (digest: Uint8Array) => Uint8Array; export declare const constantTimeEq: (a: Uint8Array, b: Uint8Array) => boolean; export declare const toBase64Url: (data: Uint8Array) => string; export declare const fromBase64Url: (encoded: string) => Uint8Array; export declare const toHex: (data: Uint8Array) => string; export declare const fromHex: (encoded: string) => Uint8Array; export declare const generateUuid: () => string; export declare const zeroize: (data: Uint8Array) => void; export declare const canonicalAad: (headerFields: { v: number; suite: string; aead: string; docId: string; vaultId?: string | null | undefined; epoch: number; policy: { mode: string; t?: number | undefined; n?: number | undefined; } | undefined; }) => Uint8Array; export declare const buildContext: (docId: string, epoch: number) => string; export type { AeadResult, KemKeypair, KemEncapResult, SecretShareLike, KeyInput, CryptoProvider } from './provider';