import 'source-map-support/register';
import { BanxaService } from '../externalServices/banxa';
import { ChangellyService } from '../externalServices/changelly';
import { MoonpayService } from '../externalServices/moonpay';
import { OneInchService } from '../externalServices/oneInch';
import { RampService } from '../externalServices/ramp';
import { SardineService } from '../externalServices/sardine';
import { SimplexService } from '../externalServices/simplex';
import { ThorswapService } from '../externalServices/thorswap';
import { TransakService } from '../externalServices/transak';
import { WyreService } from '../externalServices/wyre';
import { V8 } from './blockchainexplorers/v8';
import { FiatRateService } from './fiatrateservice';
import { Lock } from './lock';
import { MessageBroker } from './messagebroker';
import { IWallet, TxProposal, Wallet } from './model';
import { Storage } from './storage';
export interface IWalletService {
    lock: Lock;
    storage: Storage;
    blockchainExplorer: V8;
    blockchainExplorerOpts: any;
    messageBroker: MessageBroker;
    fiatRateService: FiatRateService;
    notifyTicker: number;
    userAgent: string;
    walletId: string;
    copayerId: string;
    appName: string;
    appVersion: {
        agent?: string;
        major?: number;
        minor?: number;
    };
    parsedClientVersion: {
        agent?: string;
        major?: number;
        minor?: number;
    };
    clientVersion: string;
    copayerIsSupportStaff: boolean;
    copayerIsMarketingStaff: boolean;
    request: any;
}
export declare class WalletService implements IWalletService {
    lock: Lock;
    storage: Storage;
    blockchainExplorer: V8;
    blockchainExplorerOpts: any;
    messageBroker: MessageBroker;
    fiatRateService: FiatRateService;
    notifyTicker: number;
    userAgent: string;
    walletId: string;
    copayerId: string;
    appName: string;
    appVersion: {
        agent?: string;
        major?: number;
        minor?: number;
    };
    parsedClientVersion: {
        agent?: string;
        major?: number;
        minor?: number;
    };
    clientVersion: string;
    copayerIsSupportStaff: boolean;
    copayerIsMarketingStaff: boolean;
    request: any;
    externalServices: {
        banxa: BanxaService;
        changelly: ChangellyService;
        moonpay: MoonpayService;
        oneInch: OneInchService;
        ramp: RampService;
        sardine: SardineService;
        simplex: SimplexService;
        thorswap: ThorswapService;
        transak: TransakService;
        wyre: WyreService;
    };
    constructor();
    static getServiceVersion(): string;
    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("node_modules/winston").Logger;
    logw(message: any, ...args: any[]): import("node_modules/winston").Logger;
    logd(message: any, ...args: any[]): import("node_modules/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;
    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;
    _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, forceSync?: boolean): void;
    createAddress(opts: any, cb: any): void;
    getMainAddresses(opts: any, cb: any): void;
    verifyMessageSignature(opts: any, cb: any): void;
    _getBlockchainExplorer(chain: any, network: any): V8 | undefined;
    getUtxosForCurrentWallet(opts: any, cb: any): void;
    getUtxos(opts: any, cb: any): any;
    getCoinsForTx(opts: any, cb: any): void;
    getBalance(opts: any, cb: any): any;
    getSendMaxInfo(opts: any, cb: any): void;
    _sampleFeeLevels(chain: any, network: any, points: any, cb: any): any;
    estimateFee(opts: any): Promise<unknown>;
    estimatePriorityFee(opts: any): Promise<unknown>;
    getFeeLevels(opts: any, cb: any): 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;
    _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;
    getTxByHash(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(chain: any, network: any, raw: any, cb: any): any;
    broadcastRawTx(opts: any, cb: any): any;
    _checkTxInBlockchain(txp: any, cb: any): any;
    signTx(opts: any, cb: any): void;
    _processBroadcast(txp: any, opts: any, cb: any): void;
    broadcastTx(opts: any, cb: any): void;
    rejectTx(opts: any, cb: any): void;
    getPendingTxs(opts: any, cb: any): Promise<any>;
    getPendingTxsPromise(opts: any): Promise<any>;
    getTxs(opts: any, cb: any): void;
    getNotifications(opts: any, cb: any): void;
    _normalizeTxHistory(walletId: any, txs: any[], dustThreshold: any, bcHeight: any, cb: any): any;
    _getBlockchainHeight(chain: 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, force?: 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;
    getTxHistoryV8(bc: V8, 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;
    getFiatRatesByCoin(opts: any, cb: any): any;
    getHistoricalRates(opts: any, cb: any): void;
    pushNotificationsSubscribe(opts: any, cb: any): void;
    pushNotificationsBrazeSubscribe(opts: any, cb: any): void;
    pushNotificationsUnsubscribe(opts: any, cb: any): void;
    pushNotificationsBrazeUnsubscribe(opts: any, cb: any): void;
    txConfirmationSubscribe(opts: any, cb: any): void;
    txConfirmationUnsubscribe(opts: any, cb: any): void;
    getServicesData(opts: any, cb: any): any;
    checkServiceAvailability(req: any): boolean;
    getSpenderApprovalWhitelist(cb: any): any;
    getPayId(url: string): Promise<any>;
    discoverPayId(req: any): Promise<any>;
    clearWalletCache(opts: any): Promise<boolean>;
    moralisGetWalletTokenBalances(req: any): Promise<any>;
    moralisGetTokenAllowance(req: any): Promise<any>;
    moralisGetNativeBalance(req: any): Promise<any>;
    moralisGetTokenPrice(req: any): Promise<any>;
    moralisGetMultipleERC20TokenPrices(req: any): Promise<any>;
    moralisGetERC20TokenBalancesWithPricesByWallet(req: any): Promise<any>;
    moralisGetSolWalletPortfolio(req: any): Promise<any>;
    private coinGeckoGetCredentials;
    coinGeckoGetRates(req: any): Promise<any>;
}
export declare function checkRequired(obj: any, args: any, cb?: (e: any) => void): boolean | void;
//# sourceMappingURL=server.d.ts.map