import type { Abi, AbiParameter } from 'abitype'; import { type IsAddressErrorType } from '../address/isAddress.js'; import { type IsHexErrorType } from '../data/isHex.js'; import { type AbiItemAmbiguityErrorType } from '../errors/abi.js'; import type { ErrorType } from '../errors/utils.js'; import { type ToFunctionSelectorErrorType } from '../hash/toFunctionSelector.js'; import type { AbiItem, AbiItemArgs, AbiItemName, ExtractAbiItemForArgs, Widen } from '../types/contract.js'; import type { Hex } from '../types/data.js'; import type { UnionEvaluate } from '../types/utils.js'; export type GetAbiItemParameters = AbiItemName, args extends AbiItemArgs | undefined = AbiItemArgs, allArgs = AbiItemArgs, allNames = AbiItemName> = { abi: abi; name: allNames | (name extends allNames ? name : never) | Hex; } & UnionEvaluate : never : never) | undefined; } : { args?: allArgs | (Widen & (args extends allArgs ? unknown : never)) | undefined; }>; export type GetAbiItemErrorType = IsArgOfTypeErrorType | IsHexErrorType | ToFunctionSelectorErrorType | AbiItemAmbiguityErrorType | ErrorType; export type GetAbiItemReturnType = AbiItemName, args extends AbiItemArgs | undefined = AbiItemArgs> = abi extends Abi ? Abi extends abi ? AbiItem | undefined : ExtractAbiItemForArgs ? args : AbiItemArgs> : AbiItem | undefined; export declare function getAbiItem, const args extends AbiItemArgs | undefined = undefined>(parameters: GetAbiItemParameters): GetAbiItemReturnType; type IsArgOfTypeErrorType = IsAddressErrorType | ErrorType; /** @internal */ export declare function isArgOfType(arg: unknown, abiParameter: AbiParameter): boolean; /** @internal */ export declare function getAmbiguousTypes(sourceParameters: readonly AbiParameter[], targetParameters: readonly AbiParameter[], args: AbiItemArgs): AbiParameter['type'][] | undefined; export {}; //# sourceMappingURL=getItem.d.ts.map