import { BigNumber, BigNumberish } from "@ethersproject/bignumber"; import { BytesLike } from "@ethersproject/bytes"; import { Description } from "@ethersproject/properties"; import { AbiCoder } from "./abi-coder"; import { Result } from "./coders/abstract-coder"; import { ConstructorFragment, EventFragment, Fragment, FunctionFragment, JsonFragment, ParamType } from "./fragments"; export { Result }; export declare class LogDescription extends Description { readonly eventFragment: EventFragment; readonly name: string; readonly signature: string; readonly topic: string; readonly args: Result; } export declare class TransactionDescription extends Description { readonly functionFragment: FunctionFragment; readonly name: string; readonly args: Result; readonly signature: string; readonly sighash: string; readonly value: BigNumber; } export declare class Indexed extends Description { readonly hash: string; readonly _isIndexed: boolean; static isIndexed(value: any): value is Indexed; } export declare class Interface { readonly fragments: Array; readonly errors: { [name: string]: any; }; readonly events: { [name: string]: EventFragment; }; readonly functions: { [name: string]: FunctionFragment; }; readonly structs: { [name: string]: any; }; readonly deploy: ConstructorFragment; readonly _abiCoder: AbiCoder; readonly _isInterface: boolean; constructor(fragments: string | Array); format(format?: string): string | Array; static getAbiCoder(): AbiCoder; static getAddress(address: string): string; static getSighash(functionFragment: FunctionFragment): string; static getEventTopic(eventFragment: EventFragment): string; getFunction(nameOrSignatureOrSighash: string): FunctionFragment; getEvent(nameOrSignatureOrTopic: string): EventFragment; getSighash(functionFragment: FunctionFragment | string): string; getEventTopic(eventFragment: EventFragment | string): string; _decodeParams(params: Array, data: BytesLike): Result; _encodeParams(params: Array, values: Array): string; encodeDeploy(values?: Array): string; decodeFunctionData(functionFragment: FunctionFragment | string, data: BytesLike): Result; encodeFunctionData(functionFragment: FunctionFragment | string, values?: Array): string; decodeFunctionResult(functionFragment: FunctionFragment | string, data: BytesLike): Result; encodeFunctionResult(functionFragment: FunctionFragment | string, values?: Array): string; encodeFilterTopics(eventFragment: EventFragment, values: Array): Array>; decodeEventLog(eventFragment: EventFragment | string, data: BytesLike, topics?: Array): Result; parseTransaction(tx: { data: string; value?: BigNumberish; }): TransactionDescription; parseLog(log: { topics: Array; data: string; }): LogDescription; static isInterface(value: any): value is Interface; }