import type { AbiParameter } from 'abitype'; import type { Narrow } from 'abitype'; import type { Error, Filter } from './types.js'; import type { IsStructSignature, Modifier } from './types/signatures.js'; import type { ParseStructs } from './types/structs.js'; import type { ParseAbiParameter as ParseAbiParameter_ } from './types/utils.js'; /** * Parses human-readable ABI parameter into `AbiParameter`. * * @param param - Human-readable ABI parameter * @returns Parsed `AbiParameter`. */ export type ParseAbiParameter = (param extends string ? param extends '' ? never : string extends param ? AbiParameter : ParseAbiParameter_ : never) | (param extends readonly string[] ? string[] extends param ? AbiParameter : ParseStructs extends infer structs ? { [key in keyof param]: param[key] extends string ? IsStructSignature extends true ? never : ParseAbiParameter_ : never; } extends infer mapped extends readonly unknown[] ? Filter[0] extends infer result ? result extends undefined ? never : result : never : never : never : never); /** * Parses human-readable ABI parameter into `AbiParameter`. * * @param param - Human-readable ABI parameter * @returns Parsed `AbiParameter`. */ export declare function parseAbiParameter(param: Narrow & ((param extends string ? param extends '' ? Error<'Empty string is not allowed.'> : unknown : never) | (param extends readonly string[] ? param extends readonly [] ? Error<'At least one parameter required.'> : string[] extends param ? unknown : unknown : never))): ParseAbiParameter; //# sourceMappingURL=parseAbiParameter.d.ts.map