import { FheType, type FheTypeInfo } from "./FheType.js"; import { FhevmType, type FhevmTypeInfo } from "./FhevmType.js"; export declare function assertIsFhevmHandleBytes32Hex(value: unknown, valueName?: string): asserts value is `0x${string}`; export declare class FhevmHandle { #private; constructor(hash21: string, chainId: number, fhevmType: FhevmType, fheType: FheType, version: number, computed: boolean, index?: number); get hash21(): string; get chainId(): number; get fhevmType(): FhevmType; get fheType(): FheType; get version(): number; get computed(): boolean; get index(): number | undefined; get fhevmTypeInfo(): FhevmTypeInfo; get fheTypeInfo(): FheTypeInfo; /** * Handles have the following format: * [21 first random bytes from hashing] | index_21 | chainID_22...29 | type_30 | version_31 * * Handle format for user inputs and ops results are as such: * keccak256(keccak256(CiphertextFHEList)||index_handle)[0:20] || index_handle[21] || chainID [22:29] || handle_type [30] || handle_version [31] * If the handle stems from computation, the index_handle must be set to 0xff. * The CiphertextFHEList actually contains: 1 byte (= N) for size of handles_list, N bytes for the handles_types : 1 per handle, then the original fhe160list raw ciphertext */ static fromBytes32Hex(handleBytes32Hex: string): FhevmHandle; static verify(handleBytes32: string, expected?: { fhevmType?: FhevmType; fheType?: FheType; chainId?: number | bigint; }): FhevmHandle; toHandleBytes32(): Uint8Array; toHandleBytes32Hex(): string; static createInputHandle(blobHashBytes32: Uint8Array, aclAddress: string, chainId: number, fhevmType: FhevmType, ciphertextVersion: number, index: number): FhevmHandle; /** * blobHashBytes32 = keccak256(ciphertextWithZKProof) */ private static _computeInputHash21; static computeHandlesHex(ciphertextWithZKProof: Uint8Array, fhevmTypes: FhevmType[], aclContractAddress: string, chainId: number, ciphertextVersion: number): string[]; static computeHandles(ciphertextWithZKProof: Uint8Array, fhevmTypes: FhevmType[], aclContractAddress: string, chainId: number, ciphertextVersion: number): Uint8Array[]; } //# sourceMappingURL=FhevmHandle.d.ts.map