export declare const PolicyRegistry: { contractName: string; abi: ({ constant: boolean; inputs: { name: string; type: string; }[]; name: string; outputs: { name: string; type: string; }[]; payable: boolean; stateMutability: string; type: string; anonymous?: undefined; } | { anonymous: boolean; inputs: { indexed: boolean; name: string; type: string; }[]; name: string; type: string; constant?: undefined; outputs?: undefined; payable?: undefined; stateMutability?: undefined; })[]; bytecode: string; deployedBytecode: string; sourceMap: string; deployedSourceMap: string; source: string; sourcePath: string; ast: { absolutePath: string; exportedSymbols: { PolicyRegistry: number[]; }; id: number; nodeType: string; nodes: ({ id: number; literals: string[]; nodeType: string; src: string; absolutePath?: undefined; file?: undefined; scope?: undefined; sourceUnit?: undefined; symbolAliases?: undefined; unitAlias?: undefined; baseContracts?: undefined; contractDependencies?: undefined; contractKind?: undefined; documentation?: undefined; fullyImplemented?: undefined; linearizedBaseContracts?: undefined; name?: undefined; nodes?: undefined; } | { absolutePath: string; file: string; id: number; nodeType: string; scope: number; sourceUnit: number; src: string; symbolAliases: any[]; unitAlias: string; literals?: undefined; baseContracts?: undefined; contractDependencies?: undefined; contractKind?: undefined; documentation?: undefined; fullyImplemented?: undefined; linearizedBaseContracts?: undefined; name?: undefined; nodes?: undefined; } | { baseContracts: any[]; contractDependencies: any[]; contractKind: string; documentation: any; fullyImplemented: boolean; id: number; linearizedBaseContracts: number[]; name: string; nodeType: string; nodes: ({ id: number; libraryName: { contractScope: any; id: number; name: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; src: string; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; keyType?: undefined; valueType?: undefined; }; canonicalName?: undefined; members?: undefined; name?: undefined; constant?: undefined; scope?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; visibility?: undefined; anonymous?: undefined; documentation?: undefined; parameters?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { canonicalName: string; id: number; members: { id: number; name: string; nodeType: string; src: string; }[]; name: string; nodeType: string; src: string; libraryName?: undefined; typeName?: undefined; constant?: undefined; scope?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; visibility?: undefined; anonymous?: undefined; documentation?: undefined; parameters?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { constant: boolean; id: number; name: 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; }; keyType?: undefined; valueType?: undefined; }; value: { argumentTypes: any; arguments: { argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; 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: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; hexValue?: undefined; subdenomination?: undefined; value?: undefined; }; visibility: string; libraryName?: undefined; canonicalName?: undefined; members?: undefined; anonymous?: undefined; documentation?: undefined; parameters?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { constant: boolean; id: number; name: 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; }; keyType?: undefined; valueType?: undefined; }; value: { argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; arguments?: undefined; expression?: undefined; names?: undefined; }; visibility: string; libraryName?: undefined; canonicalName?: undefined; members?: undefined; anonymous?: undefined; documentation?: undefined; parameters?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { constant: boolean; id: number; name: string; nodeType: string; scope: number; src: string; 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: { contractScope: any; id: number; name: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; name?: undefined; }; value: any; visibility: string; libraryName?: undefined; canonicalName?: undefined; members?: undefined; anonymous?: undefined; documentation?: undefined; parameters?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { anonymous: boolean; documentation: any; id: number; name: string; nodeType: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; indexed: boolean; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; src: string; libraryName?: undefined; typeName?: undefined; canonicalName?: undefined; members?: undefined; constant?: undefined; scope?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; visibility?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { canonicalName: string; id: number; members: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; name: string; nodeType: string; scope: number; src: string; visibility: string; libraryName?: undefined; typeName?: undefined; constant?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; anonymous?: undefined; documentation?: undefined; parameters?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { body: { id: number; nodeType: string; src: string; statements: ({ condition: { argumentTypes: any; commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { argumentTypes: any; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; operator: string; prefix: boolean; src: string; subExpression: { argumentTypes: any; arguments: { argumentTypes: any; 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { argumentTypes: any; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; operator: string; prefix: boolean; src: string; subExpression: { argumentTypes: any; arguments: { argumentTypes: any; 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; falseBody: any; id: number; nodeType: string; src: string; trueBody: { id: number; nodeType: string; src: string; statements: { expression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; functionReturnParameters: number; id: number; nodeType: string; src: string; }[]; }; assignments?: undefined; declarations?: undefined; initialValue?: undefined; expression?: undefined; eventCall?: undefined; functionReturnParameters?: undefined; } | { assignments: number[]; declarations: { constant: boolean; id: number; name: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { contractScope: any; id: number; name: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; value: any; visibility: string; }[]; id: number; initialValue: { argumentTypes: any; arguments: ({ argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; expression?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; lValueRequested?: undefined; memberName?: undefined; } | { argumentTypes: any; expression: { argumentTypes: any; 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; memberName: string; nodeType: string; referencedDeclaration: any; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; expression?: undefined; eventCall?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { argumentTypes: any; baseExpression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { argumentTypes: any; 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: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; prefix?: undefined; subExpression?: undefined; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; }; id: number; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; assignments?: undefined; declarations?: undefined; initialValue?: undefined; eventCall?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; operator: string; prefix: boolean; src: string; subExpression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; typeDescriptions: { typeIdentifier: string; typeString: string; }; leftHandSide?: undefined; rightHandSide?: undefined; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; }; id: number; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; assignments?: undefined; declarations?: undefined; initialValue?: undefined; eventCall?: undefined; functionReturnParameters?: undefined; } | { eventCall: { argumentTypes: any; arguments: ({ argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; expression?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; lValueRequested?: undefined; memberName?: undefined; } | { argumentTypes: any; expression: { argumentTypes: any; 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; memberName: string; nodeType: string; referencedDeclaration: any; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; assignments?: undefined; declarations?: undefined; initialValue?: undefined; expression?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; lValueRequested?: undefined; leftHandSide?: undefined; operator?: undefined; rightHandSide?: undefined; prefix?: undefined; subExpression?: undefined; }; functionReturnParameters: number; id: number; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; assignments?: undefined; declarations?: undefined; initialValue?: undefined; eventCall?: undefined; })[]; }; documentation: string; id: number; implemented: boolean; isConstructor: boolean; isDeclaredConst: boolean; modifiers: any[]; name: string; nodeType: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; payable: boolean; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; scope: number; src: string; stateMutability: string; superFunction: any; visibility: string; libraryName?: undefined; typeName?: undefined; canonicalName?: undefined; members?: undefined; constant?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; anonymous?: undefined; } | { body: { id: number; nodeType: string; src: string; statements: ({ assignments: number[]; declarations: { constant: boolean; id: number; name: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { contractScope: any; id: number; name: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; value: any; visibility: string; }[]; id: number; initialValue: { argumentTypes: any; baseExpression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { argumentTypes: any; 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; src: string; expression?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; components: { argumentTypes: any; expression: { argumentTypes: any; 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; memberName: string; nodeType: string; 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; }; }; functionReturnParameters: number; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; })[]; }; documentation: any; id: number; implemented: boolean; isConstructor: boolean; isDeclaredConst: boolean; modifiers: any[]; name: string; nodeType: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; payable: boolean; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; scope: number; src: string; stateMutability: string; superFunction: any; visibility: string; libraryName?: undefined; typeName?: undefined; canonicalName?: undefined; members?: undefined; constant?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; anonymous?: undefined; } | { body: { id: number; nodeType: string; src: string; statements: ({ condition: { argumentTypes: any; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; operator: string; prefix: boolean; src: string; subExpression: { argumentTypes: any; arguments: { argumentTypes: any; 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; falseBody: any; id: number; nodeType: string; src: string; trueBody: { id: number; nodeType: string; src: string; statements: ({ eventCall: { argumentTypes: any; arguments: ({ argumentTypes: any; arguments: { argumentTypes: any; expression: { argumentTypes: any; 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; memberName: string; nodeType: string; referencedDeclaration: any; 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: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; } | { argumentTypes: any; 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; names?: 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; expression?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; functionReturnParameters: number; id: number; nodeType: string; src: string; eventCall?: undefined; })[]; }; expression?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; functionReturnParameters: number; id: number; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; })[]; }; documentation: string; id: number; implemented: boolean; isConstructor: boolean; isDeclaredConst: boolean; modifiers: any[]; name: string; nodeType: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; payable: boolean; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; scope: number; src: string; stateMutability: string; superFunction: any; visibility: string; libraryName?: undefined; typeName?: undefined; canonicalName?: undefined; members?: undefined; constant?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; anonymous?: undefined; } | { body: { id: number; nodeType: string; src: string; statements: ({ condition: { argumentTypes: any; commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { argumentTypes: any; expression: { argumentTypes: any; 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; memberName: string; nodeType: string; referencedDeclaration: any; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; falseBody: any; id: number; nodeType: string; src: string; trueBody: { id: number; nodeType: string; src: string; statements: ({ eventCall: { argumentTypes: any; arguments: ({ argumentTypes: any; arguments: { argumentTypes: any; expression: { argumentTypes: any; 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; memberName: string; nodeType: string; referencedDeclaration: any; 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: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; } | { argumentTypes: any; 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; names?: 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; expression?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; functionReturnParameters: number; id: number; nodeType: string; src: string; eventCall?: undefined; })[]; }; expression?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; functionReturnParameters: number; id: number; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; })[]; }; documentation: any; id: number; implemented: boolean; isConstructor: boolean; isDeclaredConst: boolean; modifiers: any[]; name: string; nodeType: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; payable: boolean; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; scope: number; src: string; stateMutability: string; superFunction: any; visibility: string; libraryName?: undefined; typeName?: undefined; canonicalName?: undefined; members?: undefined; constant?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; anonymous?: undefined; } | { body: { id: number; nodeType: string; src: string; statements: { expression: { argumentTypes: any; commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { argumentTypes: any; arguments: ({ argumentTypes: any; arguments: ({ argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; } | { argumentTypes: any; 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; subdenomination?: undefined; value?: 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; } | { argumentTypes: any; 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; names?: 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; functionReturnParameters: number; id: number; nodeType: string; src: string; }[]; }; documentation: any; id: number; implemented: boolean; isConstructor: boolean; isDeclaredConst: boolean; modifiers: any[]; name: string; nodeType: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; payable: boolean; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; scope: number; src: string; stateMutability: string; superFunction: any; visibility: string; libraryName?: undefined; typeName?: undefined; canonicalName?: undefined; members?: undefined; constant?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; anonymous?: undefined; })[]; scope: number; src: string; literals?: undefined; absolutePath?: undefined; file?: undefined; sourceUnit?: undefined; symbolAliases?: undefined; unitAlias?: undefined; })[]; src: string; }; legacyAST: { absolutePath: string; exportedSymbols: { PolicyRegistry: number[]; }; id: number; nodeType: string; nodes: ({ id: number; literals: string[]; nodeType: string; src: string; absolutePath?: undefined; file?: undefined; scope?: undefined; sourceUnit?: undefined; symbolAliases?: undefined; unitAlias?: undefined; baseContracts?: undefined; contractDependencies?: undefined; contractKind?: undefined; documentation?: undefined; fullyImplemented?: undefined; linearizedBaseContracts?: undefined; name?: undefined; nodes?: undefined; } | { absolutePath: string; file: string; id: number; nodeType: string; scope: number; sourceUnit: number; src: string; symbolAliases: any[]; unitAlias: string; literals?: undefined; baseContracts?: undefined; contractDependencies?: undefined; contractKind?: undefined; documentation?: undefined; fullyImplemented?: undefined; linearizedBaseContracts?: undefined; name?: undefined; nodes?: undefined; } | { baseContracts: any[]; contractDependencies: any[]; contractKind: string; documentation: any; fullyImplemented: boolean; id: number; linearizedBaseContracts: number[]; name: string; nodeType: string; nodes: ({ id: number; libraryName: { contractScope: any; id: number; name: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; src: string; typeName: { id: number; name: string; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; keyType?: undefined; valueType?: undefined; }; canonicalName?: undefined; members?: undefined; name?: undefined; constant?: undefined; scope?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; visibility?: undefined; anonymous?: undefined; documentation?: undefined; parameters?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { canonicalName: string; id: number; members: { id: number; name: string; nodeType: string; src: string; }[]; name: string; nodeType: string; src: string; libraryName?: undefined; typeName?: undefined; constant?: undefined; scope?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; visibility?: undefined; anonymous?: undefined; documentation?: undefined; parameters?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { constant: boolean; id: number; name: 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; }; keyType?: undefined; valueType?: undefined; }; value: { argumentTypes: any; arguments: { argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; 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: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; hexValue?: undefined; subdenomination?: undefined; value?: undefined; }; visibility: string; libraryName?: undefined; canonicalName?: undefined; members?: undefined; anonymous?: undefined; documentation?: undefined; parameters?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { constant: boolean; id: number; name: 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; }; keyType?: undefined; valueType?: undefined; }; value: { argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; arguments?: undefined; expression?: undefined; names?: undefined; }; visibility: string; libraryName?: undefined; canonicalName?: undefined; members?: undefined; anonymous?: undefined; documentation?: undefined; parameters?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { constant: boolean; id: number; name: string; nodeType: string; scope: number; src: string; 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: { contractScope: any; id: number; name: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; name?: undefined; }; value: any; visibility: string; libraryName?: undefined; canonicalName?: undefined; members?: undefined; anonymous?: undefined; documentation?: undefined; parameters?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { anonymous: boolean; documentation: any; id: number; name: string; nodeType: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; indexed: boolean; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; src: string; libraryName?: undefined; typeName?: undefined; canonicalName?: undefined; members?: undefined; constant?: undefined; scope?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; visibility?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { canonicalName: string; id: number; members: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; name: string; nodeType: string; scope: number; src: string; visibility: string; libraryName?: undefined; typeName?: undefined; constant?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; anonymous?: undefined; documentation?: undefined; parameters?: undefined; body?: undefined; implemented?: undefined; isConstructor?: undefined; isDeclaredConst?: undefined; modifiers?: undefined; payable?: undefined; returnParameters?: undefined; stateMutability?: undefined; superFunction?: undefined; } | { body: { id: number; nodeType: string; src: string; statements: ({ condition: { argumentTypes: any; commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { argumentTypes: any; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; operator: string; prefix: boolean; src: string; subExpression: { argumentTypes: any; arguments: { argumentTypes: any; 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { argumentTypes: any; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; operator: string; prefix: boolean; src: string; subExpression: { argumentTypes: any; arguments: { argumentTypes: any; 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; falseBody: any; id: number; nodeType: string; src: string; trueBody: { id: number; nodeType: string; src: string; statements: { expression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; functionReturnParameters: number; id: number; nodeType: string; src: string; }[]; }; assignments?: undefined; declarations?: undefined; initialValue?: undefined; expression?: undefined; eventCall?: undefined; functionReturnParameters?: undefined; } | { assignments: number[]; declarations: { constant: boolean; id: number; name: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { contractScope: any; id: number; name: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; value: any; visibility: string; }[]; id: number; initialValue: { argumentTypes: any; arguments: ({ argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; expression?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; lValueRequested?: undefined; memberName?: undefined; } | { argumentTypes: any; expression: { argumentTypes: any; 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; memberName: string; nodeType: string; referencedDeclaration: any; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; expression?: undefined; eventCall?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftHandSide: { argumentTypes: any; baseExpression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { argumentTypes: any; 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: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; prefix?: undefined; subExpression?: undefined; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; }; id: number; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; assignments?: undefined; declarations?: undefined; initialValue?: undefined; eventCall?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; operator: string; prefix: boolean; src: string; subExpression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; typeDescriptions: { typeIdentifier: string; typeString: string; }; leftHandSide?: undefined; rightHandSide?: undefined; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; }; id: number; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; assignments?: undefined; declarations?: undefined; initialValue?: undefined; eventCall?: undefined; functionReturnParameters?: undefined; } | { eventCall: { argumentTypes: any; arguments: ({ argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; expression?: undefined; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; lValueRequested?: undefined; memberName?: undefined; } | { argumentTypes: any; expression: { argumentTypes: any; 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; memberName: string; nodeType: string; referencedDeclaration: any; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; assignments?: undefined; declarations?: undefined; initialValue?: undefined; expression?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; isConstant?: undefined; isLValue?: undefined; isPure?: undefined; lValueRequested?: undefined; leftHandSide?: undefined; operator?: undefined; rightHandSide?: undefined; prefix?: undefined; subExpression?: undefined; }; functionReturnParameters: number; id: number; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; assignments?: undefined; declarations?: undefined; initialValue?: undefined; eventCall?: undefined; })[]; }; documentation: string; id: number; implemented: boolean; isConstructor: boolean; isDeclaredConst: boolean; modifiers: any[]; name: string; nodeType: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; payable: boolean; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; scope: number; src: string; stateMutability: string; superFunction: any; visibility: string; libraryName?: undefined; typeName?: undefined; canonicalName?: undefined; members?: undefined; constant?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; anonymous?: undefined; } | { body: { id: number; nodeType: string; src: string; statements: ({ assignments: number[]; declarations: { constant: boolean; id: number; name: string; nodeType: string; scope: number; src: string; stateVariable: boolean; storageLocation: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; typeName: { contractScope: any; id: number; name: string; nodeType: string; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; value: any; visibility: string; }[]; id: number; initialValue: { argumentTypes: any; baseExpression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; indexExpression: { argumentTypes: any; 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; src: string; expression?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; components: { argumentTypes: any; expression: { argumentTypes: any; 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; memberName: string; nodeType: string; 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; }; }; functionReturnParameters: number; id: number; nodeType: string; src: string; assignments?: undefined; declarations?: undefined; initialValue?: undefined; })[]; }; documentation: any; id: number; implemented: boolean; isConstructor: boolean; isDeclaredConst: boolean; modifiers: any[]; name: string; nodeType: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; payable: boolean; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; scope: number; src: string; stateMutability: string; superFunction: any; visibility: string; libraryName?: undefined; typeName?: undefined; canonicalName?: undefined; members?: undefined; constant?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; anonymous?: undefined; } | { body: { id: number; nodeType: string; src: string; statements: ({ condition: { argumentTypes: any; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; nodeType: string; operator: string; prefix: boolean; src: string; subExpression: { argumentTypes: any; arguments: { argumentTypes: any; 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; falseBody: any; id: number; nodeType: string; src: string; trueBody: { id: number; nodeType: string; src: string; statements: ({ eventCall: { argumentTypes: any; arguments: ({ argumentTypes: any; arguments: { argumentTypes: any; expression: { argumentTypes: any; 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; memberName: string; nodeType: string; referencedDeclaration: any; 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: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; } | { argumentTypes: any; 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; names?: 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; expression?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; functionReturnParameters: number; id: number; nodeType: string; src: string; eventCall?: undefined; })[]; }; expression?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; functionReturnParameters: number; id: number; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; })[]; }; documentation: string; id: number; implemented: boolean; isConstructor: boolean; isDeclaredConst: boolean; modifiers: any[]; name: string; nodeType: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; payable: boolean; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; scope: number; src: string; stateMutability: string; superFunction: any; visibility: string; libraryName?: undefined; typeName?: undefined; canonicalName?: undefined; members?: undefined; constant?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; anonymous?: undefined; } | { body: { id: number; nodeType: string; src: string; statements: ({ condition: { argumentTypes: any; commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { argumentTypes: any; expression: { argumentTypes: any; 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; memberName: string; nodeType: string; referencedDeclaration: any; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; falseBody: any; id: number; nodeType: string; src: string; trueBody: { id: number; nodeType: string; src: string; statements: ({ eventCall: { argumentTypes: any; arguments: ({ argumentTypes: any; arguments: { argumentTypes: any; expression: { argumentTypes: any; 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; memberName: string; nodeType: string; referencedDeclaration: any; 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: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; } | { argumentTypes: any; 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; names?: 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; id: number; nodeType: string; src: string; expression?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; functionReturnParameters: number; id: number; nodeType: string; src: string; eventCall?: undefined; })[]; }; expression?: undefined; functionReturnParameters?: undefined; } | { expression: { argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; }; functionReturnParameters: number; id: number; nodeType: string; src: string; condition?: undefined; falseBody?: undefined; trueBody?: undefined; })[]; }; documentation: any; id: number; implemented: boolean; isConstructor: boolean; isDeclaredConst: boolean; modifiers: any[]; name: string; nodeType: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; payable: boolean; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; scope: number; src: string; stateMutability: string; superFunction: any; visibility: string; libraryName?: undefined; typeName?: undefined; canonicalName?: undefined; members?: undefined; constant?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; anonymous?: undefined; } | { body: { id: number; nodeType: string; src: string; statements: { expression: { argumentTypes: any; commonType: { typeIdentifier: string; typeString: string; }; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; lValueRequested: boolean; leftExpression: { argumentTypes: any; id: number; name: string; nodeType: string; overloadedDeclarations: any[]; referencedDeclaration: number; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; nodeType: string; operator: string; rightExpression: { argumentTypes: any; arguments: ({ argumentTypes: any; arguments: ({ argumentTypes: any; hexValue: string; id: number; isConstant: boolean; isLValue: boolean; isPure: boolean; kind: string; lValueRequested: boolean; nodeType: string; src: string; subdenomination: any; typeDescriptions: { typeIdentifier: string; typeString: string; }; value: string; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; } | { argumentTypes: any; 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; subdenomination?: undefined; value?: 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; name?: undefined; overloadedDeclarations?: undefined; referencedDeclaration?: undefined; } | { argumentTypes: any; 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; names?: 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; names: any[]; nodeType: string; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; src: string; typeDescriptions: { typeIdentifier: string; typeString: string; }; }; functionReturnParameters: number; id: number; nodeType: string; src: string; }[]; }; documentation: any; id: number; implemented: boolean; isConstructor: boolean; isDeclaredConst: boolean; modifiers: any[]; name: string; nodeType: string; parameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; payable: boolean; returnParameters: { id: number; nodeType: string; parameters: { constant: boolean; id: number; name: 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; }; }; value: any; visibility: string; }[]; src: string; }; scope: number; src: string; stateMutability: string; superFunction: any; visibility: string; libraryName?: undefined; typeName?: undefined; canonicalName?: undefined; members?: undefined; constant?: undefined; stateVariable?: undefined; storageLocation?: undefined; typeDescriptions?: undefined; value?: undefined; anonymous?: undefined; })[]; scope: number; src: string; literals?: undefined; absolutePath?: undefined; file?: undefined; sourceUnit?: undefined; symbolAliases?: undefined; unitAlias?: undefined; })[]; src: string; }; compiler: { name: string; version: string; }; networks: { '4': { events: {}; links: {}; address: string; transactionHash: string; }; '66677': { events: {}; links: {}; address: string; transactionHash: string; }; '1534437572650': { events: {}; links: {}; address: string; transactionHash: string; }; }; schemaVersion: string; updatedAt: string; };