export function ensureParaCrypto(): {
    baseCrypto: import("crypto").webcrypto.Crypto | {
        Certificate: typeof import("react-native-quick-crypto").Certificate;
        X509Certificate: typeof import("react-native-quick-crypto").X509Certificate;
        getCurves: typeof import("react-native-quick-crypto").getCurves;
        constants: {
            readonly RSA_PKCS1_PADDING: 1;
            readonly RSA_NO_PADDING: 3;
            readonly RSA_PKCS1_OAEP_PADDING: 4;
            readonly RSA_X931_PADDING: 5;
            readonly RSA_PKCS1_PSS_PADDING: 6;
            readonly RSA_PSS_SALTLEN_DIGEST: -1;
            readonly RSA_PSS_SALTLEN_MAX_SIGN: -2;
            readonly RSA_PSS_SALTLEN_AUTO: -2;
            readonly POINT_CONVERSION_COMPRESSED: 2;
            readonly POINT_CONVERSION_UNCOMPRESSED: 4;
            readonly POINT_CONVERSION_HYBRID: 6;
            readonly DH_CHECK_P_NOT_PRIME: 1;
            readonly DH_CHECK_P_NOT_SAFE_PRIME: 2;
            readonly DH_UNABLE_TO_CHECK_GENERATOR: 4;
            readonly DH_NOT_SUITABLE_GENERATOR: 8;
            readonly OPENSSL_VERSION_NUMBER: 805306368;
        };
        Buffer: typeof Buffer;
        isCryptoKeyPair(result: import("react-native-quick-crypto").CryptoKey | import("react-native-quick-crypto").CryptoKeyPair): result is import("react-native-quick-crypto").CryptoKeyPair;
        Subtle: typeof import("react-native-quick-crypto").Subtle;
        subtle: import("react-native-quick-crypto").Subtle;
        toArrayBuffer(buf: Buffer | import("safe-buffer").Buffer | ArrayBufferView): ArrayBuffer;
        bufferLikeToArrayBuffer(buf: import("react-native-quick-crypto").BufferLike): ArrayBuffer;
        binaryLikeToArrayBuffer(input: import("react-native-quick-crypto").BinaryLikeNode, encoding?: string): ArrayBuffer;
        ab2str(buf: ArrayBuffer, encoding?: string): string;
        bufferToString(buf: ArrayBuffer, encoding?: string): string;
        stringToBuffer(str: string, encoding?: string): ArrayBuffer;
        abvToArrayBuffer: (buf: import("react-native-quick-crypto").ABV) => ArrayBuffer;
        kEmptyObject: any;
        ensureBytes(title: string, hex: import("react-native-quick-crypto").Hex, expectedLength?: number): Uint8Array;
        isBytes(a: unknown): a is Uint8Array;
        hexToBytes(hex: string): Uint8Array;
        lazyDOMException(message: string, domName: string | {
            name: string;
            cause: unknown;
        }): Error;
        normalizeHashName(algo: string | import("react-native-quick-crypto").HashAlgorithm | {
            name: string;
        } | undefined, context?: import("react-native-quick-crypto").HashContext): string;
        HashContext: typeof import("react-native-quick-crypto").HashContext;
        timingSafeEqual(a: import("react-native-quick-crypto").ABV, b: import("react-native-quick-crypto").ABV): boolean;
        KFormatType: typeof import("react-native-quick-crypto").KFormatType;
        KeyType: typeof import("react-native-quick-crypto").KeyType;
        KeyEncoding: typeof import("react-native-quick-crypto").KeyEncoding;
        KeyFormat: typeof import("react-native-quick-crypto").KeyFormat;
        kNamedCurveAliases: {
            readonly "P-256": "prime256v1";
            readonly "P-384": "secp384r1";
            readonly "P-521": "secp521r1";
        };
        KeyVariant: typeof import("react-native-quick-crypto").KeyVariant;
        validateFunction(f: unknown): boolean;
        isStringOrBuffer(val: unknown): val is string | ArrayBuffer;
        validateObject<T>(value: unknown, name: string, options?: {
            allowArray: boolean;
            allowFunction: boolean;
            nullable: boolean;
        } | null): value is T;
        hasAnyNotIn(set: string[], checks: string[]): boolean;
        validateMaxBufferLength: (data: import("react-native-quick-crypto").BinaryLike | import("react-native-quick-crypto").BufferLike, name: string) => void;
        getUsagesUnion: (usageSet: import("react-native-quick-crypto").KeyUsage[], ...usages: import("react-native-quick-crypto").KeyUsage[]) => import("react-native-quick-crypto").KeyUsage[];
        validateKeyOps: (keyOps: import("react-native-quick-crypto").KeyUsage[] | undefined, usagesSet: import("react-native-quick-crypto").KeyUsage[]) => void;
        setDefaultEncoding(encoding: import("react-native-quick-crypto").Encoding): void;
        getDefaultEncoding(): import("react-native-quick-crypto").Encoding;
        normalizeEncoding(enc: string): "ascii" | "utf8" | "utf16le" | "base64" | "latin1" | "hex" | undefined;
        validateEncoding(data: string, encoding: string): void;
        getUIntOption(options: Record<string, any>, key: string): any;
        encapsulate(key: import("react-native-quick-crypto").CryptoKey | import("react-native-quick-crypto").BinaryLike | import("react-native-quick-crypto").KeyObject | import("react-native-quick-crypto").KeyInputObject, callback?: (err: Error | null, result?: import("react-native-quick-crypto").EncapsulateResult) => void): import("react-native-quick-crypto").EncapsulateResult | void;
        decapsulate(key: import("react-native-quick-crypto").CryptoKey | import("react-native-quick-crypto").BinaryLike | import("react-native-quick-crypto").KeyObject | import("react-native-quick-crypto").KeyInputObject, ciphertext: import("react-native-quick-crypto").BinaryLike, callback?: (err: Error | null, result?: ArrayBuffer) => void): ArrayBuffer | void;
        mlkem_generateKeyPairWebCrypto(variant: import("react-native-quick-crypto").MlKemVariant, extractable: boolean, keyUsages: import("react-native-quick-crypto").KeyUsage[]): Promise<import("react-native-quick-crypto").CryptoKeyPair>;
        MlKem: typeof import("react-native-quick-crypto").MlKem;
        createDiffieHellman(primeOrSize: number | string | Buffer, primeEncodingOrGenerator?: string | number | Buffer, generator?: number | string | Buffer, _generatorEncoding?: string): import("react-native-quick-crypto").DiffieHellman;
        getDiffieHellman(groupName: string): import("react-native-quick-crypto").DiffieHellman;
        DiffieHellman: typeof import("react-native-quick-crypto").DiffieHellman;
        createDiffieHellmanGroup: typeof import("react-native-quick-crypto").getDiffieHellman;
        createECDH(curveName: string): import("react-native-quick-crypto").ECDH;
        ECDH: typeof import("react-native-quick-crypto").ECDH;
        randomFill<T extends import("react-native-quick-crypto").ABV>(buffer: T, callback: import("react-native-quick-crypto").RandomCallback<T>): void;
        randomFill<T extends import("react-native-quick-crypto").ABV>(buffer: T, offset: number, callback: import("react-native-quick-crypto").RandomCallback<T>): void;
        randomFill<T extends import("react-native-quick-crypto").ABV>(buffer: T, offset: number, size: number, callback: import("react-native-quick-crypto").RandomCallback<T>): void;
        randomFillSync<T extends import("react-native-quick-crypto").ABV>(buffer: T, offset?: number, size?: number): T;
        randomBytes(size: number): Buffer;
        randomBytes(size: number, callback: (err: Error | null, buf?: Buffer) => void): void;
        randomInt(max: number, callback: (err: Error | null, value: number) => void): void;
        randomInt(max: number): number;
        randomInt(min: number, max: number, callback: (err: Error | null, value: number) => void): void;
        randomInt(min: number, max: number): number;
        getRandomValues(data: import("react-native-quick-crypto").RandomTypedArrays): import("react-native-quick-crypto").RandomTypedArrays;
        randomUUID(): string;
        rng: typeof import("react-native-quick-crypto").randomBytes;
        pseudoRandomBytes: typeof import("react-native-quick-crypto").randomBytes;
        prng: typeof import("react-native-quick-crypto").randomBytes;
        scrypt(password: import("react-native-quick-crypto").BinaryLike, salt: import("react-native-quick-crypto").BinaryLike, keylen: number, options?: import("react-native-quick-crypto").ScryptOptions | ((err: Error | null, derivedKey?: Buffer) => void), callback?: (err: Error | null, derivedKey?: Buffer) => void): void;
        scryptSync(password: import("react-native-quick-crypto").BinaryLike, salt: import("react-native-quick-crypto").BinaryLike, keylen: number, options?: import("react-native-quick-crypto").ScryptOptions): Buffer;
        generatePrimeSync(size: number, options?: import("react-native-quick-crypto").GeneratePrimeOptions): Buffer | bigint;
        generatePrime(size: number, options: import("react-native-quick-crypto").GeneratePrimeOptions | ((err: Error | null, prime: Buffer | bigint) => void), callback?: (err: Error | null, prime: Buffer | bigint) => void): void;
        checkPrimeSync(candidate: import("react-native-quick-crypto").BinaryLike | bigint, options?: import("react-native-quick-crypto").CheckPrimeOptions): boolean;
        checkPrime(candidate: import("react-native-quick-crypto").BinaryLike | bigint, options: import("react-native-quick-crypto").CheckPrimeOptions | ((err: Error | null, result: boolean) => void), callback?: (err: Error | null, result: boolean) => void): void;
        pbkdf2(password: import("react-native-quick-crypto").BinaryLike, salt: import("react-native-quick-crypto").BinaryLike, iterations: number, keylen: number, digest: string, callback: (err: Error | null, derivedKey?: Buffer) => void): void;
        pbkdf2Sync(password: import("react-native-quick-crypto").BinaryLike, salt: import("react-native-quick-crypto").BinaryLike, iterations: number, keylen: number, digest: string): Buffer;
        pbkdf2DeriveBits(algorithm: import("react-native-quick-crypto").SubtleAlgorithm, baseKey: import("react-native-quick-crypto").CryptoKey, length: number): Promise<ArrayBuffer>;
        hkdf(digest: string, key: import("react-native-quick-crypto").BinaryLike, salt: import("react-native-quick-crypto").BinaryLike, info: import("react-native-quick-crypto").BinaryLike, keylen: number, callback: import("react-native-quick-crypto").HkdfCallback): void;
        hkdfSync(digest: string, key: import("react-native-quick-crypto").BinaryLike, salt: import("react-native-quick-crypto").BinaryLike, info: import("react-native-quick-crypto").BinaryLike, keylen: number): Buffer;
        hkdfDeriveBits(algorithm: import("react-native-quick-crypto").HkdfAlgorithm, baseKey: import("react-native-quick-crypto").CryptoKey, length: number): ArrayBuffer;
        createHmac: typeof import("react-native-quick-crypto").createHmac;
        createHash: typeof import("react-native-quick-crypto").createHash;
        getHashes: typeof import("react-native-quick-crypto").getHashes;
        hash: typeof import("react-native-quick-crypto").hash;
        asyncDigest: (algorithm: import("react-native-quick-crypto").SubtleAlgorithm, data: import("react-native-quick-crypto").BufferLike) => Promise<ArrayBuffer>;
        diffieHellman(options: import("react-native-quick-crypto").DiffieHellmanOptions, callback?: import("react-native-quick-crypto").DiffieHellmanCallback): Buffer | void;
        ed_generateKeyPair(isAsync: boolean, type: import("react-native-quick-crypto").CFRGKeyPairType, encoding: import("react-native-quick-crypto").KeyPairGenConfig, callback: import("react-native-quick-crypto").GenerateKeyPairCallback | undefined): import("react-native-quick-crypto").GenerateKeyPairReturn | void;
        ed_generateKeyPairWebCrypto(type: "ed25519" | "ed448", extractable: boolean, keyUsages: import("react-native-quick-crypto").KeyUsage[]): Promise<import("react-native-quick-crypto").CryptoKeyPair>;
        x_generateKeyPairWebCrypto(type: "x25519" | "x448", extractable: boolean, keyUsages: import("react-native-quick-crypto").KeyUsage[]): Promise<import("react-native-quick-crypto").CryptoKeyPair>;
        xDeriveBits(algorithm: import("react-native-quick-crypto").SubtleAlgorithm, baseKey: import("react-native-quick-crypto").CryptoKey, length: number | null): ArrayBuffer;
        Ed: typeof import("react-native-quick-crypto").Ed;
        getCiphers(): string[];
        getCipherInfo(name: string, options?: {
            keyLength?: number;
            ivLength?: number;
        }): import("react-native-quick-crypto").CipherInfoResult | undefined;
        createDecipheriv(algorithm: import("crypto").CipherCCMTypes, key: import("react-native-quick-crypto").BinaryLikeNode, iv: import("react-native-quick-crypto").BinaryLike, options: import("crypto").CipherCCMOptions): import("react-native-quick-crypto").Decipher;
        createDecipheriv(algorithm: import("crypto").CipherOCBTypes, key: import("react-native-quick-crypto").BinaryLikeNode, iv: import("react-native-quick-crypto").BinaryLike, options: import("crypto").CipherOCBOptions): import("react-native-quick-crypto").Decipher;
        createDecipheriv(algorithm: import("crypto").CipherGCMTypes, key: import("react-native-quick-crypto").BinaryLikeNode, iv: import("react-native-quick-crypto").BinaryLike, options?: import("crypto").CipherGCMOptions): import("react-native-quick-crypto").Decipher;
        createDecipheriv(algorithm: string, key: import("react-native-quick-crypto").BinaryLikeNode, iv: import("react-native-quick-crypto").BinaryLike, options?: import("readable-stream").TransformOptions): import("react-native-quick-crypto").Decipher;
        createCipheriv(algorithm: import("crypto").CipherCCMTypes, key: import("react-native-quick-crypto").BinaryLikeNode, iv: import("react-native-quick-crypto").BinaryLike, options: import("crypto").CipherCCMOptions): import("react-native-quick-crypto").Cipher;
        createCipheriv(algorithm: import("crypto").CipherOCBTypes, key: import("react-native-quick-crypto").BinaryLikeNode, iv: import("react-native-quick-crypto").BinaryLike, options: import("crypto").CipherOCBOptions): import("react-native-quick-crypto").Cipher;
        createCipheriv(algorithm: import("crypto").CipherGCMTypes, key: import("react-native-quick-crypto").BinaryLikeNode, iv: import("react-native-quick-crypto").BinaryLike, options?: import("crypto").CipherGCMOptions): import("react-native-quick-crypto").Cipher;
        createCipheriv(algorithm: string, key: import("react-native-quick-crypto").BinaryLikeNode, iv: import("react-native-quick-crypto").BinaryLike, options?: import("readable-stream").TransformOptions): import("react-native-quick-crypto").Cipher;
        xsalsa20(key: Uint8Array, nonce: Uint8Array, data: Uint8Array, output?: Uint8Array | undefined, counter?: number): Uint8Array;
        createBlake3(opts?: import("react-native-quick-crypto").Blake3Options): import("react-native-quick-crypto").Blake3;
        blake3: typeof import("react-native-quick-crypto").blake3;
        Blake3: typeof import("react-native-quick-crypto").Blake3;
        blake3Exports: {
            Blake3: typeof import("react-native-quick-crypto").Blake3;
            createBlake3: typeof import("react-native-quick-crypto").createBlake3;
            blake3: typeof import("react-native-quick-crypto").blake3;
        };
        createSecretKey: typeof import("react-native-quick-crypto").createSecretKey;
        createPublicKey: typeof import("react-native-quick-crypto").createPublicKey;
        createPrivateKey: typeof import("react-native-quick-crypto").createPrivateKey;
        CryptoKey: typeof import("react-native-quick-crypto").CryptoKey;
        generateKey: typeof import("react-native-quick-crypto").generateKey;
        generateKeySync: typeof import("react-native-quick-crypto").generateKeySync;
        generateKeyPair: (type: import("react-native-quick-crypto").KeyPairType, options: import("react-native-quick-crypto").GenerateKeyPairOptions, callback: import("react-native-quick-crypto").GenerateKeyPairCallback) => void;
        generateKeyPairSync: typeof import("react-native-quick-crypto").generateKeyPairSync;
        AsymmetricKeyObject: typeof import("react-native-quick-crypto").AsymmetricKeyObject;
        KeyObject: typeof import("react-native-quick-crypto").KeyObject;
        createSign: typeof import("react-native-quick-crypto").createSign;
        createVerify: typeof import("react-native-quick-crypto").createVerify;
        sign: typeof import("react-native-quick-crypto").sign;
        verify: typeof import("react-native-quick-crypto").verify;
        Sign: typeof import("react-native-quick-crypto").Sign;
        Verify: typeof import("react-native-quick-crypto").Verify;
        publicEncrypt: typeof import("react-native-quick-crypto").publicEncrypt;
        publicDecrypt: typeof import("react-native-quick-crypto").publicDecrypt;
        privateEncrypt: typeof import("react-native-quick-crypto").privateEncrypt;
        privateDecrypt: typeof import("react-native-quick-crypto").privateDecrypt;
        parsePublicKeyEncoding: typeof import("react-native-quick-crypto").parsePublicKeyEncoding;
        parsePrivateKeyEncoding: typeof import("react-native-quick-crypto").parsePrivateKeyEncoding;
        parseKeyEncoding: typeof import("react-native-quick-crypto").parseKeyEncoding;
        SecretKeyObject: typeof import("react-native-quick-crypto").SecretKeyObject;
        PublicKeyObject: typeof import("react-native-quick-crypto").PublicKeyObject;
        PrivateKeyObject: typeof import("react-native-quick-crypto").PrivateKeyObject;
        isCryptoKey: (obj: any) => boolean;
        argon2Sync(algorithm: string, params: import("react-native-quick-crypto").Argon2Params): Buffer;
        argon2(algorithm: string, params: import("react-native-quick-crypto").Argon2Params, callback: (err: Error | null, result: Buffer) => void): void;
    };
    peculiarCrypto: PeculiarCrypto;
};
export function ensureCreateECDH(): any;
import { Buffer } from '@craftzdog/react-native-buffer';
import { Crypto as PeculiarCrypto } from '@peculiar/webcrypto';
