/// <reference types="node" />
import 'source-map-support/register';
import { BlockChainExplorer } from './blockchainexplorer';
import { V8 } from './blockchainexplorers/v8';
import { IWallet, TxProposal, Wallet } from './model';
import { Storage } from './storage';
import { CoinConfig, ConfigSwap } from './model/config-swap';
import { ConversionOrder, Output } from './model/conversionOrder';
import { MerchantInfo } from './model/merchantinfo';
import { IMerchantOrder, MerchantOrder, PaymentType } from './model/merchantorder';
import { Order } from './model/order';
import { RaipayFee } from './model/raipayfee';
import { TokenInfo } from './model/tokenInfo';
export interface IWalletService {
    lock: any;
    storage: Storage;
    blockchainExplorer: any;
    blockchainExplorerOpts: any;
    messageBroker: any;
    fiatRateService: any;
    notifyTicker: number;
    userAgent: string;
    walletId: string;
    copayerId: string;
    appName: string;
    appVersion: string;
    parsedClientVersion: {
        agent: number;
        major: number;
        minor: number;
    };
    clientVersion: string;
    copayerIsSupportStaff: boolean;
    copayerIsMarketingStaff: boolean;
}
export interface ICoinConfigFilter {
    fromDate?: Date;
    toDate?: Date;
    fromCoinCode?: string;
    toCoinCode?: string;
    status?: string;
    fromNetwork?: string;
    toNetwork?: string;
    orderId?: string;
    isInQueue?: boolean;
}
export declare class WalletService {
    lock: any;
    storage: Storage;
    blockchainExplorer: V8;
    blockchainExplorerOpts: any;
    messageBroker: any;
    fiatRateService: any;
    notifyTicker: number;
    userAgent: string;
    walletId: string;
    copayerId: string;
    appName: string;
    appVersion: string;
    parsedClientVersion: {
        agent: string;
        major: number;
        minor: number;
    };
    clientVersion: string;
    copayerIsSupportStaff: boolean;
    copayerIsMarketingStaff: boolean;
    request: any;
    constructor();
    _checkingValidAddress(address: any): boolean;
    static getServiceVersion(): any;
    static initialize(opts: any, cb: any): void;
    static handleIncomingNotifications(notification: any, cb: any): any;
    static shutDown(cb: any): any;
    static getInstance(opts: any): WalletService;
    static getInstanceWithAuth(opts: any, cb: any): any;
    _runLocked(cb: any, task: any, waitTime?: number): void;
    logi(message: any, ...args: any[]): import("winston").Logger;
    logw(message: any, ...args: any[]): import("winston").Logger;
    logd(message: any, ...args: any[]): import("winston").Logger;
    login(opts: any, cb: any): void;
    logout(opts: any, cb: any): void;
    createWallet(opts: any, cb: any): any;
    getWallet(opts: any, cb: any): void;
    getWalletFromId(walletId: any, cb: any): void;
    getWalletFromIdentifier(opts: any, cb: any): any;
    getStatus(opts: any, cb: any): void;
    _verifySignature(text: any, signature: any, pubkey: any): any;
    _verifyRequestPubKey(requestPubKey: any, signature: any, xPubKey: any): any;
    _getSigningKey(text: any, signature: any, pubKeys: any): any;
    _notify(type: any, data: any, opts: any, cb?: (err?: any, data?: any) => void): void;
    _notifyTxProposalAction(type: any, txp: any, extraArgs: any, cb?: (err?: any, data?: any) => void): void;
    _addCopayerToWallet(wallet: any, opts: any, cb: any): void;
    _addKeyToCopayer(wallet: any, copayer: any, opts: any, cb: any): void;
    addAccess(opts: any, cb: any): void;
    updateKeysPassword(opts: any, cb: any): any;
    updateKeysPasswordConversion(opts: any, cb: any): any;
    verifyPassword(opts: any, cb: any): any;
    verifyConversionPassword(opts: any, cb: any): any;
    encrypt(sharedKey: any, plainText: any): any;
    decrypt(sharedKey: Buffer, cipherText: string): Uint8Array;
    importSeed(opts: any, cb: any): any;
    importSeedConversion(opts: any, cb: any): any;
    checkingSeedExist(cb: any): void;
    checkingSeedConversionExist(cb: any): void;
    renewPassword(opts: any, cb: any): any;
    renewPasswordConversion(opts: any, cb: any): any;
    _setClientVersion(version: any): void;
    _setAppVersion(userAgent: any): void;
    _parseClientVersion(): {
        agent: string;
        major: number;
        minor: number;
    };
    _clientSupportsPayProRefund(): boolean;
    static _getCopayerHash(name: any, xPubKey: any, requestPubKey: any): string;
    joinWallet(opts: any, cb: any): any;
    savePreferences(opts: any, cb: any): any;
    getPreferences(opts: any, cb: any): void;
    _canCreateAddress(ignoreMaxGap: any, cb: any): any;
    _store(wallet: any, address: any, cb: any, checkSync?: boolean): void;
    createAddress(opts: any, cb: any): void;
    getMainAddresses(opts: any, cb: any): void;
    verifyMessageSignature(opts: any, cb: any): void;
    _getBlockchainExplorer(coin: any, network: any): ReturnType<typeof BlockChainExplorer>;
    getUtxosForCurrentWallet(opts: any, cb: any): void;
    _filterOutSlpUtxo(utxoNonSlpChronik: any, allUtxos: any): any[];
    _isSupportToken(wallet: any): boolean;
    getUtxos(opts: any, cb: any): any;
    getUtxosForSelectedAddressAndWallet(opts: any, cb: any): any;
    getCoinsForTx(opts: any, cb: any): void;
    getTxDetail(txId: any, cb: any): void;
    getTxDetailForXecWallet(txId: any, cb: any): Promise<any>;
    getTxDetailForXecWalletWithPromise(txId: any): Promise<any>;
    getTxDetailForWallet(txId: any, coin: any, cb: any): Promise<any>;
    getTxDetailForWalletWithPromise(txId: any, coin: any): Promise<any>;
    getBalance(opts: any, cb: any): any;
    getBalanceWithPromise(opts: any): Promise<unknown>;
    getBalanceDonation(opts: any, cb: any): any;
    getRemainingAmount(receiveAmountLotus: any, cb: any): void;
    _getUxtosByChronik(coin: any, addressInfo: any): any;
    _getUxtosByChronikOnlyByAddress(coin: any, address: any): any;
    getUtxosToken(opts: any, cb: any): void;
    _getAndStoreTokenInfo(coin: any, tokenId: any): Promise<TokenInfo>;
    getTokensWithPromise(opts: any): Promise<unknown>;
    getTokens(opts: any, cb: any): void;
    getAllTokenInfo(cb: any): void;
    getRemainingInfo(opts: any, cb: any): void;
    getWalletFundRemaining(opts: any, cb: any): void;
    getSendMaxInfo(opts: any, cb: any): void;
    _sampleFeeLevels(coin: any, network: any, points: any, cb: any): any;
    getFeeLevels(opts: any, cb: any): Promise<any>;
    _canCreateTx(cb: any): void;
    _validateOutputs(opts: any, wallet: any, cb: any): any;
    _validateAndSanitizeTxOpts(wallet: any, opts: any, cb: any): void;
    _getFeePerKb(wallet: any, opts: any, cb: any): any;
    getFee(coinInfo: any, opts: any): Promise<any>;
    _getTransactionCount(wallet: any, address: any, cb: any): any;
    getNonce(opts: any): Promise<unknown>;
    estimateGas(opts: any): Promise<unknown>;
    getMultisigContractInstantiationInfo(opts: any): Promise<unknown>;
    getMultisigContractInfo(opts: any): Promise<unknown>;
    getTokenContractInfo(opts: any): Promise<unknown>;
    getMultisigTxpsInfo(opts: any): Promise<unknown>;
    createTx(opts: any, cb: any): void;
    publishTx(opts: any, cb: any): void;
    getTx(opts: any, cb: any): void;
    editTxNote(opts: any, cb: any): void;
    getTxNote(opts: any, cb: any): void;
    getTxNotes(opts: any, cb: any): void;
    removeWallet(opts: any, cb: any): void;
    getRemainingDeleteLockTime(txp: any): number;
    removePendingTx(opts: any, cb: any): void;
    _broadcastRawTx(coin: any, network: any, raw: any, cb: any): any;
    _broadcastRawTxByChronik(chronikClient: any, hex: any, cb: any): any;
    broadcastRawTx(opts: any, cb: any): Promise<any>;
    _checkTxInBlockchain(txp: any, cb: any): any;
    signTx(opts: any, cb: any): void;
    _processBroadcast(txp: any, opts: any, cb: any): void;
    checkIsDonation(txp: any): boolean;
    _sendLotusDonation(client: any, key: any, txDonation: any, cb: any): void;
    _createOtpTxSwap(coinCode: any, network: any, addressUserReceive: any, amountTo: any): {
        coin: any;
        dryRun: boolean;
        excludeUnconfirmedUtxos: boolean;
        feeLevel: string;
        isTokenSwap: any;
        message: any;
        network: any;
        outputs: {
            amount: number;
            message: any;
            toAddress: any;
        }[];
        payProUrl: any;
        txpVersion: number;
    };
    _sendSwap(client: any, key: any, txSwap: any, cb: any): void;
    _sendSwapWithToken(coin: any, wallet: any, mnemonic: any, tokenId: any, token: any, TOKENQTY: any, etokenAddress: any, cb: any): Promise<any>;
    _burnToken(coin: any, wallet: any, mnemonic: any, tokenId: any, TOKENQTY: any, splitTxId: any, cb: any): Promise<any>;
    _getKeyLotus(client: any, cb: any): any;
    _getKeyFundWithMnemonic(client: any, cb: any): any;
    _getKeyFundConversionWithMnemonic(client: any, cb: any): any;
    importWithPromise(opts: any, client: any, isFund: any, isConversion?: boolean): Promise<unknown>;
    initializeCoinConfig(cb: any): void;
    storeListConfigWithPromie(listNewCoinConfigToStoreInDb: any): Promise<any>;
    updateConfigWithPromie(coinConfig: any): Promise<any>;
    rescanWalletsInKeys(cb: any): Promise<void>;
    filterCoinconfig(opts: any, cb: any): void;
    mappingWalletClientsToCoinConfig(walletClients: any, isSwap: boolean, listCoinConfig: CoinConfig[]): Promise<CoinConfig[]>;
    _getKeyReceive(client: any, cb: any): any;
    getWalletLotusDonation(cb: any): void;
    getKeyFundAndReceiveWithFundMnemonic(cb: any): void;
    getKeyConversionWithFundMnemonic(cb: any): void;
    _createOtpTxDonation(addressDonation: any, receiveLotusAddress: any, receiveAmountLotus: any): {
        coin: string;
        dryRun: boolean;
        excludeUnconfirmedUtxos: boolean;
        feeLevel: string;
        from: any;
        isTokenSwap: any;
        message: any;
        outputs: {
            amount: any;
            message: any;
            toAddress: any;
        }[];
        payProUrl: any;
        txpVersion: number;
    };
    checkQueueHandleSendLotus(client: any, key: any, addressDonation: any, isWalletLotusDonation: any): void;
    checkOrderInSwapQueue(): void;
    checkQueueHandleSwap(): void;
    checkQueueHandleConversion(): void;
    checkQueueHandleMerchantOrder(): void;
    _handleSendSuccesMerchantOrder(amountCoinUserSentToServer: any, amountElps: any, txId: any, merchantOrder: MerchantOrder, merchantName: any): Promise<void>;
    _getPaymentTypeString(paymentType: PaymentType): string;
    _calculateRaipayFee(coin: string, amount: number): number;
    _sendSwapNotificationSuccess(configSwap: ConfigSwap, orderInfo: Order, txId: string): void;
    _storeDailyLimitUsageForCoinConfig(coinConfig: CoinConfig): Promise<boolean>;
    _addExplorerLinkIntoTxIdWithCoin(txId: string, coinCode?: string, message?: string): string;
    _handleWhenFundIsNotEnough(pendingReason: string, remaining: number, addressTopupEcash: string): void;
    _getConversionOrderInfo(opts: any): Promise<ConversionOrder>;
    _getMerchantOrder(opts: any): Promise<MerchantOrder>;
    stopHandleSwapQueue(): boolean;
    restartHandleSwapQueue(cb: any): any;
    checkSwapQueue(cb: any): any;
    initCheckQueue(): void;
    checkMerchantOrderQueueAndNoti(): void;
    checkConversionOrderQueueAndNoti(): void;
    checkSwapQueueAndNoti(): void;
    restartHandleConversionQueue(cb: any): any;
    stopHandleConversionQueue(cb: any): boolean;
    restartHandleMerchantQueue(cb: any): any;
    stopHandleMerchantQueue(cb: any): boolean;
    calculateFee(amount: number, order: Order, rateUsd: number, coinConfig: CoinConfig): Promise<number>;
    checkRequirementBeforeQueueExcetue(configSwap: ConfigSwap, orderInfo: Order): Promise<boolean>;
    confirmationAndBroadcastRawTx(wallet: any, txp: any, sub: any, cb: any): void;
    convertCoinToUSD(amount: any, coin: any, cp: any): void;
    convertUSDToSatoshiLotus(amountUSD: any, coin: any, cp: any): void;
    checkAmoutToSendLostus(txp: any, cb: any): void;
    getCurrentRate(orderInfo: Order, cb: any): void;
    _getRatesWithCustomFormat(cb: any): void;
    _getRatesCustomFormatWithPromise(): Promise<any>;
    createOrder(opts: any, cb: any): Promise<any>;
    createConversionOrder(opts: any, cb: any): any;
    getListMerchantInfo(): MerchantInfo[];
    getListRaipayFee(): RaipayFee[];
    createMerchantOrder(opts: any, cb: any): Promise<any>;
    _handleEmailNotificationForMerchantOrder(merchantOrder: IMerchantOrder): Promise<unknown>;
    _checkIfTxIdFromUserDuplicate(txIdFromUser: any): Promise<boolean>;
    _fetchAddressByWalletIdWithPromise(walletId: any, accountToAddress: any): Promise<any>;
    checkConversion(addressTopupEcash: any, cb: any): Promise<any>;
    checkMerchantConversion(addressTopupEcash: any, coin: any, cb: any): Promise<any>;
    getQpayInfo(cb: any): any;
    _getWalletAddressByWalletId(walletId: any): Promise<string>;
    createBot(opts: any, cb: any): any;
    initializeBot(): void;
    updateOrder(opts: any, cb: any): Promise<any>;
    updateOrderById(opts: any, cb: any): Promise<any>;
    updateOrderStatus(opts: any, cb: any): Promise<any>;
    updateListCoinConfig(listCoinConfig: any, cb: any): any;
    _convertAddressToEtoken(address: any): any;
    _convertFromEcashWithPrefixToEtoken(address: any): any;
    _convertEtokenAddressToEcashAddress(address: any): any;
    broadcastTx(opts: any, cb: any): void;
    rejectTx(opts: any, cb: any): void;
    getPendingTxs(opts: any, cb: any): Promise<any>;
    getTxs(opts: any, cb: any): void;
    getNotifications(opts: any, cb: any): void;
    _convertAddressFormInputScript(script: string, coin: string, isToken?: boolean): string;
    _convertOutputTokenScript(output: Output): {
        address: string;
        amount: number;
    };
    _convertOutputScript(coin: string, output: Output): {
        address: string;
        amount: number;
    };
    _normalizeTxHistory(walletId: any, txs: any[], dustThreshold: any, bcHeight: any, includeImmatureStatus: any, wallet: any, cb: any): any;
    _getBlockchainHeight(coin: any, network: any, cb: any): void;
    updateWalletV8Keys(wallet: any): void;
    registerWalletV8(wallet: Wallet, cb: any): any;
    checkWalletSync(bc: any, wallet: any, simpleRun: any, cb: any): any;
    syncWallet(wallet: any, cb: any, skipCheck?: any, count?: any): any;
    static _getResultTx(wallet: any, indexedAddresses: any, tx: any, opts: any): {
        txid: any;
        action: any;
        amount: any;
        fees: any;
        time: any;
        addressTo: any;
        confirmations: any;
        foreignCrafted: any;
        outputs: any;
        feePerKb: any;
        inputs: any;
    };
    static _addProposalInfo(tx: any, indexedProposals: {
        [txid: string]: TxProposal;
    }, opts: any): void;
    static _addNotesInfo(tx: any, indexedNotes: any): void;
    createAdvert(opts: any, cb: any): void;
    getAdvert(opts: any, cb: any): void;
    getAdverts(opts: any, cb: any): void;
    getAdvertsByCountry(opts: any, cb: any): void;
    getTestingAdverts(opts: any, cb: any): void;
    getAllAdverts(opts: any, cb: any): void;
    removeAdvert(opts: any, cb: any): void;
    activateAdvert(opts: any, cb: any): void;
    deactivateAdvert(opts: any, cb: any): void;
    tagLowFeeTxs(wallet: IWallet, txs: any[], cb: any): any;
    getlastTxsByChronik(wallet: any, address: any, limit: any): Promise<any>;
    updateStatusSlpTxs(inTxs: any, lastTxsChronik: any, wallet: any): any[];
    _getBurnAmountToken(inputs: any[], type: any): number;
    getTxHistoryV8(bc: any, wallet: any, opts: any, skip: any, limit: any, cb: any): void;
    getTxHistory(opts: any, cb: any): any;
    scan(opts: any, cb: any): void;
    _runScan(wallet: Wallet, step: any, opts: any, cb: any): void;
    startScan(opts: any, cb: any): void;
    getFiatRate(opts: any, cb: any): void;
    getFiatRates(opts: any, cb: any): any;
    getConfigSwap(cb: any): Promise<any>;
    _handleListCoinConfig(listCoinConfig: CoinConfig[], fiatRates: any, listBalanceTokenConverted: any, balances: any, tokenInfoList: any): void;
    _handleListCoinConfigWithNobalance(listCoinConfig: CoinConfig[], fiatRates: any, tokenInfoList: any): void;
    getConfigSwapWithNoBalance(cb: any): Promise<any>;
    _getNetworkFeeForSwapConfig(listFeePerKb: any, swapConfig: any): void;
    getListCoinConfig(cb: any): any;
    getConfigSwapWithPromise(): Promise<ConfigSwap>;
    getConfigSwapWithNoBalancePromise(): Promise<ConfigSwap>;
    getOrderInfo(opts: any, cb: any): Promise<any>;
    _getOrderInfo(opts: any): Promise<Order>;
    getAllOrderInfo(opts: any, cb: any): Promise<void>;
    getAllConversionOrderInfo(opts: any, cb: any): Promise<void>;
    getFiatRatesByCoin(opts: any, cb: any): any;
    getHistoricalRates(opts: any, cb: any): void;
    pushNotificationsSubscribe(opts: any, cb: any): void;
    pushNotificationsUnsubscribe(opts: any, cb: any): void;
    txConfirmationSubscribe(opts: any, cb: any): void;
    txConfirmationUnsubscribe(opts: any, cb: any): void;
    getServicesData(cb: any): any;
    simplexGetKeys(req: any): {
        API: any;
        API_KEY: any;
        APP_PROVIDER_ID: any;
    };
    simplexGetQuote(req: any): Promise<any>;
    simplexPaymentRequest(req: any): Promise<any>;
    simplexGetEvents(req: any): Promise<any>;
    wyreGetKeys(req: any): {
        API: any;
        API_KEY: any;
        SECRET_API_KEY: any;
        ACCOUNT_ID: any;
    };
    wyreWalletOrderQuotation(req: any): Promise<any>;
    wyreWalletOrderReservation(req: any): Promise<any>;
    changellyGetKeys(req: any): {
        API: any;
        API_KEY: any;
        SECRET: any;
    };
    changellySignRequests(message: any, secret: string): string;
    changellyGetCurrencies(req: any): Promise<any>;
    changellyGetPairsParams(req: any): Promise<any>;
    changellyGetFixRateForAmount(req: any): Promise<any>;
    changellyCreateFixTransaction(req: any): Promise<any>;
    changellyGetStatus(req: any): Promise<any>;
    oneInchGetCredentials(): {
        API: any;
        referrerAddress: any;
        referrerFee: any;
    };
    oneInchGetReferrerFee(req: any): Promise<any>;
    oneInchGetSwap(req: any): Promise<any>;
    getPayId(url: string): Promise<any>;
    discoverPayId(req: any): Promise<any>;
    clearWalletCache(): Promise<boolean>;
    addAddressToUser(msgId: any, address: any): void;
    _storeUserWatchAddress(msgId: any, address: any): void;
    handleSubcribeNewAddress(msgId: any, address: any): void;
    startBotNotificationForUser(): Promise<void>;
}
//# sourceMappingURL=server.d.ts.map