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