import type { Maybe } from "@rarible/types"; import type { Ethereum } from "@rarible/ethereum-provider"; import type { BigNumberValue } from "@rarible/utils"; import type { EthereumTransaction } from "@rarible/ethereum-provider"; import type { AssetType } from "@rarible/ethereum-api-client"; import type { EVMAddress } from "@rarible/types"; import type { EthereumFunctionCall } from "@rarible/ethereum-provider"; import type { SendFunction } from "../common/send-transaction"; import type { GetConfigByChainId } from "../config"; export declare class ConvertWeth { private ethereum; private readonly send; private readonly getConfig; getWethContractAddress: () => Promise; constructor(ethereum: Maybe, send: SendFunction, getConfig: GetConfigByChainId); /** * Deposits user funds to wrapped balance * * @param value amount of balance to be wrapped * @returns `EthereumTransaction` */ deposit(value: BigNumberValue): Promise; /** * Deposits user funds to wrapped balance * * @param valueInWei amount of balance to be wrapped in WEI * @returns `EthereumTransaction` */ depositWeiFunctionCall(): Promise; depositWei(valueInWei: BigNumberValue): Promise; /** * Withdraws user funds from wrapped balance to native currency balance * * @param value amount of balance to unwrapped * @returns `EthereumTransaction` */ withdraw(value: BigNumberValue): Promise; /** * Withdraws user funds from wrapped balance to native currency balance * * @param valueInWei amount of balance to unwrapped in wei * @returns `EthereumTransaction` */ withdrawWei(valueInWei: BigNumberValue): Promise; private getContract; private getContractDecimals; /** * @deprecated please use `deposit` or `withdraw` functions */ convert(from: AssetType, to: AssetType, value: BigNumberValue): Promise; } export declare class UnsupportedCurrencyConvertError extends Error { constructor(contract: EVMAddress); } export declare class UnsupportedConvertAssetTypeError extends Error { constructor(); } export declare class ZeroValueIsPassedError extends Error { constructor(); }