declare const _default: { abi: ({ inputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; name?: undefined; anonymous?: undefined; outputs?: undefined; } | { inputs: any[]; name: string; type: string; stateMutability?: undefined; anonymous?: undefined; outputs?: undefined; } | { anonymous: boolean; inputs: { components: { internalType: string; name: string; type: string; }[]; indexed: boolean; internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: { components: { internalType: string; name: string; type: string; }[]; internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; anonymous?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; anonymous?: undefined; })[]; bytecode: { object: string; sourceMap: string; linkReferences: {}; }; deployedBytecode: { object: string; sourceMap: string; linkReferences: {}; immutableReferences: { "28": { start: number; length: number; }[]; }; }; methodIdentifiers: { "getPool(address,address)": string; "getQuote(uint128,address,address,uint32)": string; "getQuoteAndUpdatePool(uint128,address,address,uint32,uint256)": string; "getUpdatedPool(address,address,uint256)": string; "pools(address,address)": string; "uniswapV3Factory()": string; "updatePool(address,address)": string; }; rawMetadata: string; metadata: { compiler: { version: string; }; language: string; output: { abi: ({ inputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; name?: undefined; anonymous?: undefined; outputs?: undefined; } | { inputs: any[]; type: string; name: string; stateMutability?: undefined; anonymous?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; components: { internalType: string; name: string; type: string; }[]; indexed: boolean; }[]; type: string; name: string; anonymous: boolean; stateMutability?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; name: string; outputs: { internalType: string; name: string; type: string; components: { internalType: string; name: string; type: string; }[]; }[]; anonymous?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; name: string; outputs: { internalType: string; name: string; type: string; }[]; anonymous?: undefined; })[]; devdoc: { kind: string; methods: { "getPool(address,address)": { params: { tokenA: string; tokenB: string; }; returns: { pool: string; }; }; "getQuote(uint128,address,address,uint32)": { params: { baseAmount: string; baseToken: string; quoteToken: string; secondsAgo: string; }; returns: { quoteAmount: string; }; }; "getQuoteAndUpdatePool(uint128,address,address,uint32,uint256)": { params: { baseAmount: string; baseToken: string; quoteToken: string; secondsAgo: string; updateInterval: string; }; returns: { quoteAmount: string; }; }; "getUpdatedPool(address,address,uint256)": { params: { tokenA: string; tokenB: string; updateInterval: string; }; returns: { pool: string; }; }; "updatePool(address,address)": { params: { tokenA: string; tokenB: string; }; returns: { highestLiquidityPool: string; }; }; }; version: number; }; userdoc: { kind: string; methods: { constructor: { notice: string; }; "getPool(address,address)": { notice: string; }; "getQuote(uint128,address,address,uint32)": { notice: string; }; "getQuoteAndUpdatePool(uint128,address,address,uint32,uint256)": { notice: string; }; "getUpdatedPool(address,address,uint256)": { notice: string; }; "pools(address,address)": { notice: string; }; "updatePool(address,address)": { notice: string; }; }; version: number; }; }; settings: { remappings: string[]; optimizer: { enabled: boolean; runs: number; }; metadata: { bytecodeHash: string; }; compilationTarget: { "contracts/PriceFeed.sol": string; }; libraries: {}; }; sources: { "contracts/PriceFeed.sol": { keccak256: string; urls: string[]; license: string; }; "contracts/interfaces/IPriceFeed.sol": { keccak256: string; urls: string[]; license: string; }; "contracts/structs/PoolData.sol": { keccak256: string; urls: string[]; license: string; }; "contracts/utils/PoolAddress.sol": { keccak256: string; urls: string[]; license: string; }; "lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol": { keccak256: string; urls: string[]; license: string; }; "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": { keccak256: string; urls: string[]; license: string; }; "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": { keccak256: string; urls: string[]; license: string; }; "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol": { keccak256: string; urls: string[]; license: string; }; "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": { keccak256: string; urls: string[]; license: string; }; "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": { keccak256: string; urls: string[]; license: string; }; "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": { keccak256: string; urls: string[]; license: string; }; "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": { keccak256: string; urls: string[]; license: string; }; "lib/v3-core/contracts/libraries/FullMath.sol": { keccak256: string; urls: string[]; license: string; }; "lib/v3-core/contracts/libraries/TickMath.sol": { keccak256: string; urls: string[]; license: string; }; "lib/v3-periphery/contracts/libraries/OracleLibrary.sol": { keccak256: string; urls: string[]; license: string; }; }; version: number; }; ast: { absolutePath: string; id: number; exportedSymbols: { IPriceFeed: number[]; IUniswapV3Pool: number[]; OracleLibrary: number[]; PoolAddress: number[]; PoolData: number[]; PriceFeed: number[]; }; nodeType: string; src: string; nodes: ({ id: number; nodeType: string; src: string; literals: string[]; absolutePath?: undefined; file?: undefined; nameLocation?: undefined; scope?: undefined; sourceUnit?: undefined; symbolAliases?: undefined; unitAlias?: undefined; nodes?: undefined; abstract?: undefined; baseContracts?: undefined; canonicalName?: undefined; contractDependencies?: undefined; contractKind?: undefined; documentation?: undefined; fullyImplemented?: undefined; linearizedBaseContracts?: undefined; name?: undefined; usedErrors?: undefined; } | { id: number; nodeType: string; src: string; absolutePath: string; file: string; nameLocation: string; scope: number; sourceUnit: number; symbolAliases: { foreign: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: {}; }; nameLocation: string; }[]; unitAlias: string; literals?: undefined; nodes?: undefined; abstract?: undefined; baseContracts?: undefined; canonicalName?: undefined; contractDependencies?: undefined; contractKind?: undefined; documentation?: undefined; fullyImplemented?: undefined; linearizedBaseContracts?: undefined; name?: undefined; usedErrors?: undefined; } | { id: number; nodeType: string; src: string; nodes: ({ id: number; nodeType: string; src: string; anonymous: boolean; documentation: { id: number; nodeType: string; src: string; text: string; }; eventSelector: string; name: string; nameLocation: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; indexed: boolean; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; nodeType: string; pathNode: { id: number; name: string; nameLocations: string[]; nodeType: string; referencedDeclaration: number; src: string; }; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; src: string; }; constant?: undefined; mutability?: undefined; scope?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; typeName?: undefined; value?: undefined; visibility?: undefined; baseFunctions?: undefined; functionSelector?: undefined; body?: undefined; implemented?: undefined; kind?: undefined; modifiers?: undefined; returnParameters?: undefined; stateMutability?: undefined; virtual?: undefined; } | { id: number; nodeType: string; src: string; constant: boolean; documentation: { id: number; nodeType: string; src: string; text: string; }; mutability: string; name: string; nameLocation: string; scope: number; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { baseType: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; stateMutability?: undefined; keyType?: undefined; valueType?: undefined; }; value: { components: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }[]; id: number; isConstant: boolean; isInlineArray: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; anonymous?: undefined; eventSelector?: undefined; parameters?: undefined; baseFunctions?: undefined; functionSelector?: undefined; body?: undefined; implemented?: undefined; kind?: undefined; modifiers?: undefined; returnParameters?: undefined; stateMutability?: undefined; virtual?: undefined; } | { id: number; nodeType: string; src: string; baseFunctions: number[]; constant: boolean; functionSelector: string; mutability: string; name: string; nameLocation: string; scope: number; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; stateMutability: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; baseType?: undefined; keyType?: undefined; valueType?: undefined; }; visibility: string; anonymous?: undefined; documentation?: undefined; eventSelector?: undefined; parameters?: undefined; value?: undefined; body?: undefined; implemented?: undefined; kind?: undefined; modifiers?: undefined; returnParameters?: undefined; stateMutability?: undefined; virtual?: undefined; } | { id: number; nodeType: string; src: string; baseFunctions: number[]; constant: boolean; documentation: { id: number; nodeType: string; src: string; text: string; }; functionSelector: string; mutability: string; name: string; nameLocation: string; scope: number; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; keyType: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; valueType: { id: number; keyType: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; valueType: { id: number; nodeType: string; pathNode: { id: number; name: string; nameLocations: string[]; nodeType: string; referencedDeclaration: number; src: string; }; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; }; baseType?: undefined; name?: undefined; stateMutability?: undefined; }; visibility: string; anonymous?: undefined; eventSelector?: undefined; parameters?: undefined; value?: undefined; body?: undefined; implemented?: undefined; kind?: undefined; modifiers?: undefined; returnParameters?: undefined; stateMutability?: undefined; virtual?: undefined; } | { id: number; nodeType: string; src: string; body: { id: number; nodeType: string; src: string; statements: { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; }[]; }; documentation: { id: number; nodeType: string; src: string; text: string; }; implemented: boolean; kind: string; modifiers: any[]; name: string; nameLocation: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; stateMutability: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; src: string; }; returnParameters: { id: number; nodeType: string; parameters: any[]; src: string; }; scope: number; stateMutability: string; virtual: boolean; visibility: string; anonymous?: undefined; eventSelector?: undefined; constant?: undefined; mutability?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; typeName?: undefined; value?: undefined; baseFunctions?: undefined; functionSelector?: undefined; } | { id: number; nodeType: string; src: string; body: { id: number; nodeType: string; src: string; statements: ({ assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; stateMutability: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { condition: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; falseExpression: { components: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; id: number; isConstant: boolean; isInlineArray: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; trueExpression: { components: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; id: number; isConstant: boolean; isInlineArray: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; src: string; expression?: undefined; } | { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { baseExpression: { baseExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; })[]; }; baseFunctions: number[]; documentation: { id: number; nodeType: string; src: string; text: string; }; functionSelector: string; implemented: boolean; kind: string; modifiers: any[]; name: string; nameLocation: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; stateMutability: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; src: string; }; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; nodeType: string; pathNode: { id: number; name: string; nameLocations: string[]; nodeType: string; referencedDeclaration: number; src: string; }; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; src: string; }; scope: number; stateMutability: string; virtual: boolean; visibility: string; anonymous?: undefined; eventSelector?: undefined; constant?: undefined; mutability?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; typeName?: undefined; value?: undefined; } | { id: number; nodeType: string; src: string; body: { id: number; nodeType: string; src: string; statements: ({ assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; stateMutability: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { expression: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; src: string; condition?: undefined; trueBody?: undefined; } | { condition: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { arguments: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; trueBody: { id: number; nodeType: string; src: string; statements: ({ assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; src: string; expression?: undefined; } | { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; expression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; })[]; }; assignments?: undefined; declarations?: undefined; initialValue?: undefined; })[]; }; baseFunctions: number[]; documentation: { id: number; nodeType: string; src: string; text: string; }; functionSelector: string; implemented: boolean; kind: string; modifiers: any[]; name: string; nameLocation: string; parameters: { id: number; nodeType: string; parameters: ({ constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; stateMutability?: undefined; }; visibility: string; } | { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; stateMutability: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; })[]; src: string; }; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; src: string; }; scope: number; stateMutability: string; virtual: boolean; visibility: string; anonymous?: undefined; eventSelector?: undefined; constant?: undefined; mutability?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; typeName?: undefined; value?: undefined; } | { id: number; nodeType: string; src: string; body: { id: number; nodeType: string; src: string; statements: ({ condition: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; commonType?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; lValueRequested?: undefined; leftExpression?: undefined; operator?: undefined; rightExpression?: undefined; }; nodeType: string; operator: string; rightExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; commonType?: undefined; leftExpression?: undefined; operator?: undefined; rightExpression?: undefined; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; trueBody: { expression: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; functionReturnParameters: number; id: number; nodeType: string; src: string; statements?: undefined; }; expression?: undefined; } | { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; condition?: undefined; trueBody?: undefined; } | { condition: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { expression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { arguments: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; }; nodeType: string; operator: string; rightExpression: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { expression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { expression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; hexValue?: undefined; kind?: undefined; value?: undefined; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; trueBody: { id: number; nodeType: string; src: string; statements: { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; }[]; expression?: undefined; functionReturnParameters?: undefined; }; expression?: undefined; })[]; }; baseFunctions: number[]; documentation: { id: number; nodeType: string; src: string; text: string; }; functionSelector: string; implemented: boolean; kind: string; modifiers: any[]; name: string; nameLocation: string; parameters: { id: number; nodeType: string; parameters: ({ constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; stateMutability: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; } | { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; stateMutability?: undefined; }; visibility: string; })[]; src: string; }; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; nodeType: string; pathNode: { id: number; name: string; nameLocations: string[]; nodeType: string; referencedDeclaration: number; src: string; }; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; src: string; }; scope: number; stateMutability: string; virtual: boolean; visibility: string; anonymous?: undefined; eventSelector?: undefined; constant?: undefined; mutability?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; typeName?: undefined; value?: undefined; } | { id: number; nodeType: string; src: string; body: { id: number; nodeType: string; src: string; statements: ({ assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; stateMutability: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { condition: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; falseExpression: { components: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; id: number; isConstant: boolean; isInlineArray: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; trueExpression: { components: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; id: number; isConstant: boolean; isInlineArray: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; }; nodeType: string; src: string; body?: undefined; condition?: undefined; initializationExpression?: undefined; documentation?: undefined; expression?: undefined; eventCall?: undefined; } | { assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; nodeType: string; src: string; initialValue?: undefined; body?: undefined; condition?: undefined; initializationExpression?: undefined; documentation?: undefined; expression?: undefined; eventCall?: undefined; } | { assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { baseType: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; condition?: undefined; falseExpression?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; lValueRequested?: undefined; trueExpression?: undefined; }; nodeType: string; src: string; body?: undefined; condition?: undefined; initializationExpression?: undefined; documentation?: undefined; expression?: undefined; eventCall?: undefined; } | { assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; stateMutability: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; nodeType: string; src: string; initialValue?: undefined; body?: undefined; condition?: undefined; initializationExpression?: undefined; documentation?: undefined; expression?: undefined; eventCall?: undefined; } | { body: { id: number; nodeType: string; src: string; statements: ({ expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { arguments: ({ id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; arguments?: undefined; expression?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; kind?: undefined; lValueRequested?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; } | { arguments: ({ id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; baseExpression?: undefined; indexExpression?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; lValueRequested?: undefined; } | { baseExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; })[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; expression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; })[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; expression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; condition?: undefined; trueBody?: undefined; statements?: undefined; } | { condition: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { expression: { expression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; trueBody: { id: number; nodeType: string; src: string; statements: ({ expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { arguments: ({ id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; hexValue?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; kind?: undefined; lValueRequested?: undefined; value?: undefined; } | { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; })[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; condition?: undefined; trueBody?: undefined; } | { condition: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; trueBody: { id: number; nodeType: string; src: string; statements: ({ expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; arguments?: undefined; expression?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; kind?: undefined; lValueRequested?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; } | { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { arguments: ({ id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; baseExpression?: undefined; indexExpression?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; lValueRequested?: undefined; arguments?: undefined; expression?: undefined; kind?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; } | { baseExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; arguments?: undefined; expression?: undefined; kind?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; } | { arguments: { expression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; baseExpression?: undefined; indexExpression?: undefined; })[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; })[]; }; expression?: undefined; })[]; }; expression?: undefined; statements?: undefined; } | { id: number; nodeType: string; src: string; statements: { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; operator: string; prefix: boolean; src: string; subExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; }[]; expression?: undefined; condition?: undefined; trueBody?: undefined; })[]; }; condition: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; initializationExpression: { assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; nodeType: string; src: string; }; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; documentation?: undefined; expression?: undefined; eventCall?: undefined; } | { documentation: string; expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { baseExpression: { baseExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; body?: undefined; condition?: undefined; initializationExpression?: undefined; eventCall?: undefined; } | { eventCall: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; body?: undefined; condition?: undefined; initializationExpression?: undefined; documentation?: undefined; expression?: undefined; })[]; }; baseFunctions: number[]; documentation: { id: number; nodeType: string; src: string; text: string; }; functionSelector: string; implemented: boolean; kind: string; modifiers: any[]; name: string; nameLocation: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; stateMutability: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; src: string; }; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; nodeType: string; pathNode: { id: number; name: string; nameLocations: string[]; nodeType: string; referencedDeclaration: number; src: string; }; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; src: string; }; scope: number; stateMutability: string; virtual: boolean; visibility: string; anonymous?: undefined; eventSelector?: undefined; constant?: undefined; mutability?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; typeName?: undefined; value?: undefined; } | { id: number; nodeType: string; src: string; body: { id: number; nodeType: string; src: string; statements: ({ expression: { arguments: ({ commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; hexValue?: undefined; kind?: undefined; value?: undefined; } | { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; commonType?: undefined; leftExpression?: undefined; operator?: undefined; rightExpression?: undefined; })[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; name: string; nodeType: string; overloadedDeclarations: number[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; leftHandSide?: undefined; operator?: undefined; rightHandSide?: undefined; }; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; condition?: undefined; trueBody?: undefined; } | { assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { baseType: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { arguments: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { baseType: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; expression?: undefined; memberLocation?: undefined; memberName?: undefined; referencedDeclaration?: undefined; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; commonType?: undefined; leftExpression?: undefined; operator?: undefined; rightExpression?: undefined; }; nodeType: string; src: string; expression?: undefined; condition?: undefined; trueBody?: undefined; } | { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { baseExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; }; nodeType: string; operator: string; rightHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; hexValue?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; kind?: undefined; lValueRequested?: undefined; value?: undefined; arguments?: undefined; expression?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; arguments?: undefined; expression?: undefined; kind?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; }; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; condition?: undefined; trueBody?: undefined; } | { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { baseExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; }; nodeType: string; operator: string; rightHandSide: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; arguments?: undefined; expression?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; arguments?: undefined; expression?: undefined; kind?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; }; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; condition?: undefined; trueBody?: undefined; } | { assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { baseType: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; expression: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName?: undefined; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; commonType?: undefined; leftExpression?: undefined; operator?: undefined; rightExpression?: undefined; }; nodeType: string; src: string; expression?: undefined; condition?: undefined; trueBody?: undefined; } | { assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { baseExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { baseExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; arguments?: undefined; expression?: undefined; kind?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; }; nodeType: string; src: string; expression?: undefined; condition?: undefined; trueBody?: undefined; } | { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; baseExpression?: undefined; indexExpression?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; lValueRequested?: undefined; }; nodeType: string; operator: string; rightHandSide: { arguments: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { arguments: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; hexValue?: undefined; value?: undefined; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; arguments?: undefined; expression?: undefined; kind?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; }; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; condition?: undefined; trueBody?: undefined; } | { condition: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { components: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { arguments: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; id: number; isConstant: boolean; isInlineArray: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; trueBody: { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; operator: string; prefix: boolean; src: string; subExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; }; expression?: undefined; assignments?: undefined; declarations?: undefined; initialValue?: undefined; })[]; }; documentation: { id: number; nodeType: string; src: string; text: string; }; implemented: boolean; kind: string; modifiers: any[]; name: string; nameLocation: string; parameters: { id: number; nodeType: string; parameters: ({ constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; stateMutability: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; } | { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; stateMutability?: undefined; }; visibility: string; })[]; src: string; }; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; src: string; }; scope: number; stateMutability: string; virtual: boolean; visibility: string; anonymous?: undefined; eventSelector?: undefined; constant?: undefined; mutability?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; typeName?: undefined; value?: undefined; baseFunctions?: undefined; functionSelector?: undefined; } | { id: number; nodeType: string; src: string; body: { id: number; nodeType: string; src: string; statements: ({ assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { baseType: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { arguments: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { baseType: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; expression?: undefined; memberLocation?: undefined; memberName?: undefined; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; src: string; expression?: undefined; condition?: undefined; trueBody?: undefined; } | { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { baseExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; hexValue?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; kind?: undefined; lValueRequested?: undefined; value?: undefined; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; condition?: undefined; trueBody?: undefined; } | { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { baseExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; condition?: undefined; trueBody?: undefined; } | { assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { arguments: { arguments: ({ hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; } | { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; hexValue?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; kind?: undefined; lValueRequested?: undefined; value?: undefined; })[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; expression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; expression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName?: undefined; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; src: string; expression?: undefined; condition?: undefined; trueBody?: undefined; } | { condition: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; trueBody: { id: number; nodeType: string; src: string; statements: ({ assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { baseType: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { arguments: ({ id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; components?: undefined; isConstant?: undefined; isInlineArray?: undefined; isLValue?: undefined; isPure?: undefined; lValueRequested?: undefined; } | { components: { baseExpression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; id: number; isConstant: boolean; isInlineArray: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; })[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; expression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; commonType?: undefined; leftExpression?: undefined; operator?: undefined; rightExpression?: undefined; }; nodeType: string; src: string; expression?: undefined; } | { assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { baseExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; arguments?: undefined; expression?: undefined; kind?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; }; nodeType: string; operator: string; rightExpression: { baseExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; expression?: undefined; memberLocation?: undefined; memberName?: undefined; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; arguments?: undefined; expression?: undefined; kind?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; }; nodeType: string; src: string; expression?: undefined; } | { assignments: number[]; declarations: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; id: number; initialValue: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; baseExpression?: undefined; indexExpression?: undefined; }; nodeType: string; operator: string; rightExpression: { expression: { arguments: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; memberLocation: string; memberName: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; baseExpression?: undefined; indexExpression?: undefined; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; arguments?: undefined; expression?: undefined; kind?: undefined; nameLocations?: undefined; names?: undefined; tryCall?: undefined; }; nodeType: string; src: string; expression?: undefined; } | { expression: { id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightHandSide: { arguments: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { components: { commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { arguments: { id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; id: number; isConstant: boolean; isInlineArray: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }[]; expression: { argumentTypes: { typeIdentifier: string; typeString: string; }[]; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: {}; }; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nameLocations: any[]; names: any[]; nodeType: string; src: string; tryCall: boolean; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; })[]; }; assignments?: undefined; declarations?: undefined; initialValue?: undefined; expression?: undefined; })[]; }; documentation: { id: number; nodeType: string; src: string; text: string; }; implemented: boolean; kind: string; modifiers: any[]; name: string; nameLocation: string; parameters: { id: number; nodeType: string; parameters: ({ constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; stateMutability: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; } | { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; stateMutability?: undefined; }; visibility: string; })[]; src: string; }; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; mutability: string; name: string; nameLocation: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; visibility: string; }[]; src: string; }; scope: number; stateMutability: string; virtual: boolean; visibility: string; anonymous?: undefined; eventSelector?: undefined; constant?: undefined; mutability?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; typeName?: undefined; value?: undefined; baseFunctions?: undefined; functionSelector?: undefined; })[]; abstract: boolean; baseContracts: { baseName: { id: number; name: string; nameLocations: string[]; nodeType: string; referencedDeclaration: number; src: string; }; id: number; nodeType: string; src: string; }[]; canonicalName: string; contractDependencies: any[]; contractKind: string; documentation: { id: number; nodeType: string; src: string; text: string; }; fullyImplemented: boolean; linearizedBaseContracts: number[]; name: string; nameLocation: string; scope: number; usedErrors: number[]; literals?: undefined; absolutePath?: undefined; file?: undefined; sourceUnit?: undefined; symbolAliases?: undefined; unitAlias?: undefined; })[]; license: string; }; id: number; }; export default _default;