import { DecryptRequest, EncryptFileRequest, EncryptResponse, EncryptUint8ArrayRequest, EncryptStringRequest, ILitNodeClient, EncryptToJsonProps, DecryptFromJsonProps } from '@lit-protocol/types'; /** * Encrypt a string or file using the LIT network public key and serialise all the metadata required to decrypt * i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON * * Useful for encrypting/decrypting data in IPFS or other storage without compressing it in a file. * * @param params { EncryptToJsonProps } - The params required to encrypt either a file or string and serialise it to JSON * * @returns { Promise } - JSON serialised string of the encrypted data and associated metadata necessary to decrypt it later * */ export declare const encryptToJson: (params: EncryptToJsonProps) => Promise; /** * * Decrypt & return a previously encrypted string (as a string) or file (as a Uint8Array) using the metadata included * in the parsed JSON data * * @param params { DecryptFromJsonProps } - The params required to decrypt a parsed JSON blob containing appropriate metadata * * @returns { Promise } - The decrypted `string` or file (as a `Uint8Array`) depending on `dataType` property in the parsed JSON provided * */ export declare function decryptFromJson(params: DecryptFromJsonProps): Promise | ReturnType>; /** Encrypt a uint8array. This is used to encrypt any uint8array that is to be locked via the Lit Protocol. * @param { EncryptUint8ArrayRequest } params - The params required to encrypt a uint8array * @param params.dataToEncrypt - (optional) The uint8array to encrypt * @param params.accessControlConditions - (optional) The access control conditions * @param params.evmContractConditions - (optional) The EVM contract conditions * @param params.solRpcConditions - (optional) The Solana RPC conditions * @param params.unifiedAccessControlConditions - The unified access control conditions * @param { ILitNodeClient } litNodeClient - The Lit Node Client * * @returns { Promise } - The encrypted uint8array and the hash of the data that was encrypted */ export declare const encryptUint8Array: (params: EncryptUint8ArrayRequest, litNodeClient: ILitNodeClient) => Promise; /** * Decrypt a cyphertext into a Uint8Array that was encrypted with the encryptUint8Array function. * * @param { DecryptRequest } params - The params required to decrypt a string * @param { ILitNodeClient } litNodeClient - The Lit Node Client * * @returns { Promise } - The decrypted `Uint8Array` */ export declare const decryptToUint8Array: (params: DecryptRequest, litNodeClient: ILitNodeClient) => Promise; /** * * Encrypt a string. This is used to encrypt any string that is to be locked via the Lit Protocol. * * @param { EncryptStringRequest } params - The params required to encrypt a string * @param params.dataToEncrypt - (optional) The string to encrypt * @param params.accessControlConditions - (optional) The access control conditions * @param params.evmContractConditions - (optional) The EVM contract conditions * @param params.solRpcConditions - (optional) The Solana RPC conditions * @param params.unifiedAccessControlConditions - The unified access control conditions * @param { ILitNodeClient } litNodeClient - The Lit Node Client * * @returns { Promise } - The encrypted string and the hash of the string */ export declare const encryptString: (params: EncryptStringRequest, litNodeClient: ILitNodeClient) => Promise; /** * * Decrypt ciphertext into a string that was encrypted with the encryptString function. * * @param { DecryptRequest } params - The params required to decrypt a string * @param { ILitNodeClient } litNodeClient - The Lit Node Client * @returns { Promise } - The decrypted string */ export declare const decryptToString: (params: DecryptRequest, litNodeClient: ILitNodeClient) => Promise; /** * * Encrypt a file without doing any compression or packing. This is useful for large files. A 1gb file can be encrypted in only 2 seconds, for example. * * @param { EncryptFileRequest } params - The params required to encrypt a file * @param { ILitNodeClient } litNodeClient - The lit node client to use to encrypt the file * * @returns { Promise } - The encrypted file and the hash of the file */ export declare const encryptFile: (params: EncryptFileRequest, litNodeClient: ILitNodeClient) => Promise; /** * * Decrypt a file that was encrypted with the encryptFile function, without doing any uncompressing or unpacking. This is useful for large files. A 1gb file can be decrypted in only 1 second, for example. * * @param { DecryptRequest } params - The params required to decrypt a file * @param { ILitNodeClient } litNodeClient - The lit node client to use to decrypt the file * * @returns { Promise } - The decrypted file */ export declare const decryptToFile: (params: DecryptRequest, litNodeClient: ILitNodeClient) => Promise;