import { ElementError } from './base/error'; import { ContractSchemas } from './contracts/index'; import { Web3, BuyOrderApprove, ElementAPIConfig, ETHSending, ExchangeMetadata, Order, OrderSide, SellOrderApprove } from './types'; import { LimitedCallSpec } from './contracts/schema'; import { CreateOrderParams } from './api/types'; export declare class Account extends ContractSchemas { elementAccount: string; accountProxy: string; constructor(web3: Web3, apiConfig?: ElementAPIConfig); private getTokenApprove; private getAssetApprove; private orderApprove; getOrderApproveStep(params: CreateOrderParams, side: OrderSide, startAmmount: number): Promise; private orderApproveCalldata; getOrderApproveStepCalldata(params: CreateOrderParams, side: OrderSide, startAmmount: number): Promise; getAccountProxy(): Promise; registerProxy(): Promise; registerProxyCalldata(): LimitedCallSpec; checkTokenTransferProxy(to: string): Promise; getAccountBalance(account?: string, tokenAddr?: string): Promise<{ ethBal: string; erc20Bal: string; }>; getTokenBalances(to: string, account?: string): Promise; getAssetBalances(metadata: ExchangeMetadata, account?: string): Promise; approveTokenTransferProxy(tokenAddr: string): Promise; approveTokenTransferProxyCalldata(tokenAddr: string): LimitedCallSpec; checkAssetTransferProxy(metadata: ExchangeMetadata): Promise; approveAssetTransferProxy(metadata: ExchangeMetadata): Promise; approveAssetTransferProxyCalldata(metadata: ExchangeMetadata, operator: string): LimitedCallSpec; orderMatch({ buy, sell, metadata }: { buy: Order; sell: Order; metadata?: string; }): Promise; orderCancel(order: Order): Promise; assetTransfer(metadata: ExchangeMetadata, to: string): Promise; accountApprove(error: ElementError): Promise; }