import type { TAbiItem, TAbiInput } from '../../types/TAbi'; import { ArrayTypeName, AssemblyBlock, AssemblyCall, BaseASTNode, BinaryOperation, BooleanLiteral, ContractDefinition, DecimalNumber, ElementaryTypeName, EmitStatement, EnumDefinition, EventDefinition, Expression, FunctionCall, FunctionDefinition, HexNumber, Identifier, ImportDirective, IndexAccess, Mapping, MemberAccess, ModifierDefinition, NumberLiteral, SourceUnit, StateVariableDeclaration, StringLiteral, StructDefinition, TypeDefinition, TypeName, UnaryOperation, UserDefinedTypeName, VariableDeclaration, VariableDeclarationStatement } from '@solidity-parser/parser/dist/src/ast-types'; import { TSourceFileContract } from './SourceFile'; export declare namespace Ast { function parse(code: string, opts?: { path: string; }): { ast: SourceUnit; version: string; }; function getContract(ast: SourceUnit, contractName: string): ContractDefinition; function getStruct(ast: SourceUnit, contractName: string): StructDefinition; function getImports(ast: SourceUnit): ImportDirective[]; function getVariableDeclarations(contract: ContractDefinition): VariableDeclaration[]; function getFunctionDeclarations(contract: ContractDefinition, inheritanceChain?: ContractDefinition[]): FunctionDefinition[]; function getModifierDefinitions(contract: ContractDefinition, inheritanceChain?: ContractDefinition[]): ModifierDefinition[]; function getEventDefinitions(contract: ContractDefinition, inheritanceChain?: ContractDefinition[]): EventDefinition[]; function getUserDefinedType(node: ContractDefinition | StructDefinition | SourceUnit, name: string): (StructDefinition | ContractDefinition | EnumDefinition | TypeDefinition) & { parent?: any; }; function find(node: BaseASTNode | BaseASTNode[], matcher: (node: BaseASTNode) => boolean): { node: T; stack: BaseASTNode[]; }; function findMany(node: BaseASTNode, matcher: (node: BaseASTNode) => boolean, opts?: { single?: boolean; }, stack?: BaseASTNode[]): { node: T; stack: BaseASTNode[]; }[]; function isBinaryOperation(node: BaseASTNode): node is BinaryOperation; function isUnaryOperation(node: BaseASTNode): node is UnaryOperation; function isIndexAccess(node: BaseASTNode): node is IndexAccess; function isMemberAccess(node: BaseASTNode): node is MemberAccess; function isIdentifier(node: BaseASTNode): node is Identifier; function isEmitStatement(node: BaseASTNode): node is EmitStatement; function isAssemblyBlock(node: BaseASTNode): node is AssemblyBlock; function isAssemblyCall(node: BaseASTNode): node is AssemblyCall; function isEventDefinition(node: BaseASTNode): node is EventDefinition; function isFunctionCall(node: BaseASTNode): node is FunctionCall; function isFunctionDefinition(node: BaseASTNode): node is FunctionDefinition; function isModifierDefinition(node: BaseASTNode): node is ModifierDefinition; function isStateVariableDeclaration(node: BaseASTNode): node is StateVariableDeclaration; function isImportDirective(node: BaseASTNode): node is ImportDirective; function isContractDefinition(node: BaseASTNode): node is ContractDefinition; function isTypeDefinition(node: BaseASTNode): node is TypeDefinition; function isVariableDeclarationStatement(node: BaseASTNode): node is VariableDeclarationStatement; function isVariableDeclaration(node: BaseASTNode): node is VariableDeclaration; function isElementaryTypeName(node: BaseASTNode): node is ElementaryTypeName; function isArrayTypeName(node: BaseASTNode): node is ArrayTypeName; function isMapping(node: BaseASTNode): node is Mapping; function isUserDefinedTypeName(node: BaseASTNode): node is UserDefinedTypeName; function isDecimalNumber(node: BaseASTNode): node is DecimalNumber; function isHexNumber(node: BaseASTNode): node is HexNumber; function isNumberLiteral(node: BaseASTNode): node is NumberLiteral; function isStringLiteral(node: BaseASTNode): node is StringLiteral; function isBooleanLiteral(node: BaseASTNode): node is BooleanLiteral; function isStructDefinition(node: BaseASTNode): node is StructDefinition; function isSourceUnit(node: BaseASTNode): node is SourceUnit; function getFunctionName(node: FunctionCall): string; function serialize(node: Identifier | MemberAccess | FunctionCall | EventDefinition | ElementaryTypeName | Expression | AssemblyCall | DecimalNumber | HexNumber | NumberLiteral): string; function serializeTypeName(name: string, typeName: TypeName | VariableDeclaration, source: TSourceFileContract, inheritance: TSourceFileContract[]): Promise; function getAbi(node: EventDefinition | FunctionDefinition | VariableDeclaration, source: TSourceFileContract, inheritance?: TSourceFileContract[]): Promise; function evaluate(node: Expression): TResult; }