import { BigNumber, ethers } from 'ethers'; import { TokenInfo } from '../type'; import { LogDescription, TransactionDescription } from '@ethersproject/abi'; import { ErrorDescription } from '@ethersproject/abi/lib/interface'; export declare class ContractParser { interface: ethers.utils.Interface; addressParser?: (address: string) => Promise; deploymentCodeSize: number | undefined; constructor(interface_: ethers.utils.Interface, addressParser?: (address: string) => Promise); private _parseBaseParam; parseAddress(value: string): Promise; parseBaseParam(description: TransactionDescription | LogDescription | ErrorDescription, paramType: ethers.utils.ParamType, value: BigNumber | number): Promise; parseBaseArrayParam(description: TransactionDescription | LogDescription | ErrorDescription, paramType: ethers.utils.ParamType, value: any[]): Promise; protected parseParam(description: TransactionDescription | LogDescription | ErrorDescription, paramType: ethers.utils.ParamType, value: any): Promise; protected parseFunction(description: ethers.utils.TransactionDescription): Promise; parseDeployment(tx: { data: string; value?: ethers.BigNumberish; }): Promise; parseEvent(description: ethers.utils.LogDescription): Promise; parseTransaction(tx: { data: string; value?: ethers.BigNumberish; }): Promise; parseError(description: ErrorDescription): Promise; } export declare class Erc20Parser extends ContractParser { tokenInfo: TokenInfo; constructor(iface: ethers.utils.Interface, tokenInfo: TokenInfo, addressParser?: (address: string) => Promise); parseBaseParam(description: TransactionDescription | LogDescription | ErrorDescription, paramType: ethers.utils.ParamType, value: BigNumber | number): Promise; } export declare class UniswapV2PairParser extends ContractParser { tokenATokenInfo: TokenInfo; tokenBTokenInfo: TokenInfo; tokenAIsToken0: boolean; constructor(iface: ethers.utils.Interface, tokenATokenInfo: TokenInfo, tokenBTokenInfo: TokenInfo, addressParser?: (address: string) => Promise); parseEvent(description: ethers.utils.LogDescription): Promise; parseTokenParam(paramType: ethers.utils.ParamType, value: any, tokenAisToken0: boolean): string; } export declare class UniswapV2RouterParser extends ContractParser { } export declare class UniswapV3PoolParser extends ContractParser { tokenATokenInfo: TokenInfo; tokenBTokenInfo: TokenInfo; tokenAIsToken0: boolean; constructor(iface: ethers.utils.Interface, tokenATokenInfo: TokenInfo, tokenBTokenInfo: TokenInfo, addressParser?: (address: string) => Promise); parseEvent(description: ethers.utils.LogDescription): Promise; parseTokenParam(paramType: ethers.utils.ParamType, value: any, tokenAisToken0: boolean): string; } export declare class UniswapV3RouterParser extends ContractParser { } //# sourceMappingURL=parser.d.ts.map