import Web3 from 'web3'; import { Contract } from 'web3-eth-contract'; import IOneBTCClient, { IssueDetails, RedeemDetails, RedeemStatus, SendTxCallback, TransactionReceipt } from './types'; import { BTCNodeClient } from '../../btcNode'; import BN from 'bn.js'; interface OneBTCClientWeb3Params { web3: Web3; useMetamask?: boolean; contractAddress: string; stakingContractAddress: string; nodeURL: string; btcNodeClient: BTCNodeClient; options?: { gasPrice: number; gasLimit: number; }; } export declare class OneBTCClientWeb3 implements IOneBTCClient { web3: Web3; contract: Contract; stakingContract: Contract; btcNodeClient: BTCNodeClient; contractAddress: string; stakingContractAddress: string; private options; private _useMetamask; private _accountAddress; constructor(params: OneBTCClientWeb3Params); init: () => Promise; setAccount(privateKey: string): Promise; getUserAddress(): string; getGasPrice: () => Promise; setUseOneWallet: (value: boolean) => boolean; setUseMathWallet: (value: boolean) => boolean; setUseMetamask: (value: boolean) => boolean; getSenderAddress: () => Promise; private _prepareAddress; requestIssue: (amount: number, requesterAddress: string, oneAmount: string, sendTxCallback?: (hash: string) => void) => Promise; executeIssue: (requesterAddress: string, issueId: string, btcTxHash: string, vaultBtcAddress: string, sendTxCallback?: (hash: string) => void) => Promise; cancelIssue: (requesterAddress: string, issueId: number | string, sendTxCallback?: (hash: string) => void) => Promise; cancelRedeem: (requesterAddress: string, redeemId: number | string, reimburse?: boolean, sendTxCallback?: (hash: string) => void) => Promise; getIssueId: (requesterAddress: string) => Promise; transfer: (recipient: string, amount: number, sendTxCallback?: (hash: string) => void) => Promise; requestRedeem: (amountOneBtc: number, btcAddress: string, vaultId: string, sendTxCallback?: SendTxCallback) => Promise; executeRedeem: (requesterAddress: string, redeemId: string, btcTxHash: string, sendTxCallback?: SendTxCallback) => Promise; getRedeemStatus(requesterAddress: string, redeemId: string): Promise; balanceOf: (requesterAddress: string) => any; register_vault: (x: string, y: string, sendTxCallback?: SendTxCallback) => Promise; getIssueDetails: (txHash: string) => Promise; getIssueStatus: (requesterAddress: string, issueId: string) => any; lockAdditionalCollateral: (amount: number | string, sendTxCallback: SendTxCallback) => Promise; withdrawCollateral: (amount: number | string, sendTxCallback: SendTxCallback) => Promise; extendVaultLockPeriod: (vaultId: string, lockPeriod: number, sendTxCallback: SendTxCallback) => Promise; claimRewards: (vaultId: string, sendTxCallback: SendTxCallback) => Promise; claimRewardsAndLock: (vaultId: string, sendTxCallback: SendTxCallback) => Promise; getClaimableRewards: (vaultId: string) => Promise; getVaultLockExpireAt: (vaultId: string) => Promise; lockedVaults: (vaultId: string) => Promise; updateVaultAccClaimableRewards: (vaultId: string, sendTxCallback: SendTxCallback) => Promise; getRedeemDetails: (txHash: string) => Promise; } export {};