import type { Abi, AbiStateMutability, ExtractAbiFunctions } from 'abitype'; import type { AbiFunctionNotFoundErrorType } from '../../errors/abi.js'; import type { ContractFunctionArgs, ContractFunctionName } from '../../types/contract.js'; import { type ConcatHexErrorType } from '../data/concat.js'; import type { ToFunctionSelectorErrorType } from '../hash/toFunctionSelector.js'; import type { ErrorType } from '../../errors/utils.js'; import type { Hex } from '../../types/misc.js'; import type { IsNarrowable, UnionEvaluate } from '../../types/utils.js'; import { type EncodeAbiParametersErrorType } from './encodeAbiParameters.js'; import type { FormatAbiItemErrorType } from './formatAbiItem.js'; import type { GetAbiItemErrorType } from './getAbiItem.js'; export type EncodeFunctionDataParameters | Hex | undefined = ContractFunctionName, hasFunctions = abi extends Abi ? Abi extends abi ? true : [ExtractAbiFunctions] extends [never] ? false : true : true, allArgs = ContractFunctionArgs ? functionName : ContractFunctionName>, allFunctionNames = ContractFunctionName> = { abi: abi; } & UnionEvaluate extends true ? abi['length'] extends 1 ? { functionName?: functionName | allFunctionNames | Hex | undefined; } : { functionName: functionName | allFunctionNames | Hex; } : { functionName?: functionName | allFunctionNames | Hex | undefined; }> & UnionEvaluate & (hasFunctions extends true ? unknown : never); export type EncodeFunctionDataReturnType = Hex; export type EncodeFunctionDataErrorType = AbiFunctionNotFoundErrorType | ConcatHexErrorType | EncodeAbiParametersErrorType | FormatAbiItemErrorType | GetAbiItemErrorType | ToFunctionSelectorErrorType | ErrorType; export declare function encodeFunctionData | undefined = undefined>(parameters: EncodeFunctionDataParameters): EncodeFunctionDataReturnType; //# sourceMappingURL=encodeFunctionData.d.ts.map