import * as Abi from "@truffle/abi-utils"; import { Type } from "./type"; export type Parameter = Abi.Parameter & { type: Type; }; export declare const isParameter: (parameter: Abi.Parameter) => parameter is Parameter; export declare namespace Parameter { type Elementary = Abi.Parameter & { type: Type.Elementary; }; const isElementary: (parameter: Parameter) => parameter is Elementary; type UserDefinedValueType = Elementary & { internalType: string; }; const isUserDefinedValueType: (parameter: Parameter) => parameter is UserDefinedValueType; namespace UserDefinedValueType { const internalTypePattern: RegExp; type RecognizeResult
= (P extends Parameter.UserDefinedValueType ? { name: string; scope?: string; } : { name: string; scope?: string; } | undefined); const recognize:
(parameter: P) => RecognizeResult
;
}
type Array = Parameter & {
type: Type.Array;
};
const isArray: (parameter: Parameter) => parameter is Array;
namespace Array {
const item: (parameter: Parameter.Array) => Parameter;
type Static = Parameter.Array & {
type: Type.Array.Static;
};
const isStatic: (parameter: Parameter.Array) => parameter is Static;
namespace Static {
const length: (parameter: Parameter.Array.Static) => number;
}
}
type Tuple = Parameter & {
type: Type.Tuple;
components: Exclude = P extends Parameter.Tuple ? TupleRecognizeResult : TupleRecognizeResult | undefined;
const recognize: (parameter: P) => RecognizeResult ;
}
}
//# sourceMappingURL=parameter.d.ts.map