import { Address, PublicClient } from 'viem'; import { Wallet } from '../../clients/contracts'; import { userVaultAbi as userVaultABIV6 } from '../../generated/blockchain/v6'; import { BurnAndWithdrawArgs, CreateVaultCurrencies, CreateVaultNfts, DepositERC20Args, DepositERC721sArgs, DepositERC1155sArgs } from '../../gondi'; import { BaseContract } from './BaseContract'; export declare class UserVaultV6 extends BaseContract { #private; constructor({ walletClient, address, publicClient, }: { walletClient: Wallet; address: Address; publicClient?: PublicClient; }); burnAndWithdraw({ vaultId, collections, tokenIds, tokens, erc1155Collections, erc1155TokenIds, }: BurnAndWithdrawArgs): Promise<{ txHash: `0x${string}`; waitTxInBlock: () => Promise<{ blobGasPrice?: bigint | undefined; blobGasUsed?: bigint | undefined; blockHash: import("viem").Hash; blockNumber: bigint; blockTimestamp?: bigint | undefined; contractAddress: Address | null | undefined; cumulativeGasUsed: bigint; effectiveGasPrice: bigint; from: Address; gasUsed: bigint; logs: import("viem").Log[]; logsBloom: import("viem").Hex; root?: import("viem").Hash | undefined; status: "success" | "reverted"; to: Address | null; transactionHash: import("viem").Hash; transactionIndex: number; type: import("viem").TransactionType; events: { vaultId: bigint; collection: `0x${string}`; tokenId: bigint; }[]; oldEvents: { vaultId: bigint; collection: `0x${string}`; tokenId: bigint; }[]; }>; }>; createVault(nfts: CreateVaultNfts, currencies: CreateVaultCurrencies): Promise<{ vaultId: bigint; receipts: ({ blobGasPrice?: bigint | undefined; blobGasUsed?: bigint | undefined; blockHash: import("viem").Hash; blockNumber: bigint; blockTimestamp?: bigint | undefined; contractAddress: Address | null | undefined; cumulativeGasUsed: bigint; effectiveGasPrice: bigint; from: Address; gasUsed: bigint; logs: import("viem").Log[]; logsBloom: import("viem").Hex; root?: import("viem").Hash | undefined; status: "success" | "reverted"; to: Address | null; transactionHash: import("viem").Hash; transactionIndex: number; type: import("viem").TransactionType; vaultId: bigint; collection: `0x${string}`; tokenId: bigint; } | { blobGasPrice?: bigint | undefined; blobGasUsed?: bigint | undefined; blockHash: import("viem").Hash; blockNumber: bigint; blockTimestamp?: bigint | undefined; contractAddress: Address | null | undefined; cumulativeGasUsed: bigint; effectiveGasPrice: bigint; from: Address; gasUsed: bigint; logs: import("viem").Log[]; logsBloom: import("viem").Hex; root?: import("viem").Hash | undefined; status: "success" | "reverted"; to: Address | null; transactionHash: import("viem").Hash; transactionIndex: number; type: import("viem").TransactionType; vaultId: bigint; token: `0x${string}`; amount: bigint; })[]; }>; depositERC721s({ vaultId, collection, tokenIds }: DepositERC721sArgs): Promise<{ txHash: `0x${string}`; waitTxInBlock: () => Promise<{ blobGasPrice?: bigint | undefined; blobGasUsed?: bigint | undefined; blockHash: import("viem").Hash; blockNumber: bigint; blockTimestamp?: bigint | undefined; contractAddress: Address | null | undefined; cumulativeGasUsed: bigint; effectiveGasPrice: bigint; from: Address; gasUsed: bigint; logs: import("viem").Log[]; logsBloom: import("viem").Hex; root?: import("viem").Hash | undefined; status: "success" | "reverted"; to: Address | null; transactionHash: import("viem").Hash; transactionIndex: number; type: import("viem").TransactionType; vaultId: bigint; collection: `0x${string}`; tokenId: bigint; }>; }>; depositERC1155s({ vaultId, collection, tokenIds, amounts }: DepositERC1155sArgs): Promise<{ txHash: `0x${string}`; waitTxInBlock: () => Promise<{ blobGasPrice?: bigint | undefined; blobGasUsed?: bigint | undefined; blockHash: import("viem").Hash; blockNumber: bigint; blockTimestamp?: bigint | undefined; contractAddress: Address | null | undefined; cumulativeGasUsed: bigint; effectiveGasPrice: bigint; from: Address; gasUsed: bigint; logs: import("viem").Log[]; logsBloom: import("viem").Hex; root?: import("viem").Hash | undefined; status: "success" | "reverted"; to: Address | null; transactionHash: import("viem").Hash; transactionIndex: number; type: import("viem").TransactionType; vaultId: bigint; token: `0x${string}`; tokenId: bigint; amount: bigint; }>; }>; depositERC20({ vaultId, tokenAddress, amount }: DepositERC20Args): Promise<{ txHash: `0x${string}`; waitTxInBlock: () => Promise<{ blobGasPrice?: bigint | undefined; blobGasUsed?: bigint | undefined; blockHash: import("viem").Hash; blockNumber: bigint; blockTimestamp?: bigint | undefined; contractAddress: Address | null | undefined; cumulativeGasUsed: bigint; effectiveGasPrice: bigint; from: Address; gasUsed: bigint; logs: import("viem").Log[]; logsBloom: import("viem").Hex; root?: import("viem").Hash | undefined; status: "success" | "reverted"; to: Address | null; transactionHash: import("viem").Hash; transactionIndex: number; type: import("viem").TransactionType; vaultId: bigint; token: `0x${string}`; amount: bigint; }>; }>; }