import HDPrivateKeyManager, { WalletConstructorParams } from "./HDPrivateKey";
import Blockchain from "./Blockchain";
import { BlockchainCache } from ".";
declare class PeerToPeerWallet extends HDPrivateKeyManager {
  private index;
  blockchain: Blockchain;
  cache: BlockchainCache;
  constructor({
    key,
    keyFormat,
    language,
    network,
    ...options
  }: WalletConstructorParams);
  sync(): void;
  getBalance(start: number, end: number): number;
  sendBitcoin(
    receiverWallet: string,
    optimalArray: Array,
    idb: string,
    dbName: string,
    storeName: string,
    itemObj: object
  ): any;
  initOptimalArray(arr: Array, sendBitcoinQuantity: number): any;
  createWallet(): any;
  getTxDecode(txHexVal: string): any;
  tryIndexDb(
    idb: string,
    dbName: string,
    storeName: string,
    resultArrayDb: Array
  ): any;

  getAllDataIndexedDb(
    idb: string,
    dbName: string,
    storeName: string,
    successCallback: CallableFunction
  ): any;
  addItemToDb(
    idb: string,
    dbName: string,
    storeName: string,
    itemObj: object
  ): any;

  remove_Pairs(inputArr: Array): any;
}
export default PeerToPeerWallet;
