import type { AbiParameter, AbiParametersToPrimitiveTypes, AbiParameterToPrimitiveType } from "abitype"; import { type Hex } from "../encoding/hex.js"; /** * Encodes the given ABI parameters and values into a hexadecimal string. * @template TParams - The type of the ABI parameters. * @param params - The ABI parameters. * @param values - The corresponding values for the ABI parameters. * @returns - The encoded ABI parameters as a hexadecimal string. * @throws {Error} - If the number of parameters and values do not match. * @example * ```ts * import { encodeAbiParameters } from "thirdweb/utils"; * * const params = [ * { name: "param1", type: "uint256" }, * { name: "param2", type: "string" }, * ]; * const values = [123, "hello"]; * * const data = encodeAbiParameters(params, values); * console.log(data); * ``` * @utils */ export declare function encodeAbiParameters(params: TParams, values: TParams extends readonly AbiParameter[] ? AbiParametersToPrimitiveTypes : never): Hex; type PreparedParam = { dynamic: boolean; encoded: Hex; }; /** * @internal Export for unit test */ export declare function prepareParam({ param, value, }: { param: TParam; value: AbiParameterToPrimitiveType; }): PreparedParam; /** * @internal Export for unit test */ export declare function encodeAddress(value: Hex): PreparedParam; export {}; //# sourceMappingURL=encodeAbiParameters.d.ts.map