import { Db } from 'mongodb';
import { Wallet } from './model';
import { CoinConfig } from './model/config-swap';
import { ConversionOrder } from './model/conversionOrder';
import { MerchantOrder } from './model/merchantorder';
import { Order } from './model/order';
import { OrderInfoNoti } from './model/OrderInfoNoti';
export declare class Storage {
    static BCHEIGHT_KEY: string;
    static collections: {
        WALLETS: string;
        USER: string;
        USER_CONVERSION: string;
        COIN_CONFIG: string;
        KEYS: string;
        KEYS_CONVERSION: string;
        TXS: string;
        ADDRESSES: string;
        ADVERTISEMENTS: string;
        NOTIFICATIONS: string;
        COPAYERS_LOOKUP: string;
        PREFERENCES: string;
        EMAIL_QUEUE: string;
        CACHE: string;
        FIAT_RATES2: string;
        TX_NOTES: string;
        SESSIONS: string;
        PUSH_NOTIFICATION_SUBS: string;
        TX_CONFIRMATION_SUBS: string;
        LOCKS: string;
        DONATION: string;
        TOKEN_INFO: string;
        ORDER_INFO: string;
        CONVERSION_ORDER_INFO: string;
        MERCHANT_ORDER: string;
        USER_WATCH_ADDRESS: string;
        ORDER_INFO_NOTI: string;
        ORDER_QUEUE: string;
    };
    db: Db;
    queue: any;
    orderQueue: any;
    conversionOrderQueue: any;
    merchantOrderQueue: any;
    client: any;
    constructor(opts?: {
        db?: Db;
    });
    static createIndexes(db: any): void;
    connect(opts: any, cb: any): any;
    disconnect(cb: any): any;
    fetchWallet(id: any, cb: (err?: any, wallet?: Wallet) => void): void;
    storeWallet(wallet: any, cb: any): void;
    storeDonation(donationStorage: any, cb: any): void;
    storeTokenInfo(tokenInfo: any, cb: any): void;
    fetchTokenInfoById(tokenId: any, cb: any): any;
    fetchTokenInfo(cb: any): any;
    fetchDonationByTxid(txidDonation: any, cb: any): any;
    fetchDonationInToday(cb: any): void;
    updateDonation(donationInfo: any, cb: any): void;
    storeUser(user: any, cb: any): void;
    storeUserConversion(user: any, cb: any): void;
    fetchUserByEmail(email: any, cb: any): any;
    fetchUserConversionByEmail(email: any, cb: any): any;
    storeKeys(keys: any, cb: any): void;
    storeKeysConversion(keys: any, cb: any): void;
    fetchKeys(cb: any): any;
    fetchKeysConversion(cb: any): any;
    updateKeys(keys: any, cb: any): void;
    updateKeysConversion(keys: any, cb: any): void;
    updateOrder(orderInfo: Order, cb: any): void;
    updateOrderById(orderId: string, orderInfo: Order, cb: any): void;
    updateOrderStatus(id: string, status: string, cb: any): void;
    updateConversionOrder(orderInfo: ConversionOrder, cb: any): void;
    updateMerchantOrder(merchantOrder: MerchantOrder, cb: any): void;
    updateListCoinConfig(listCoinConfig: CoinConfig[], cb: any): void;
    storeOrderInfo(orderInfo: any, cb: any): void;
    fetchOrderinfoById(orderId: string, cb: any): void;
    fetchConversionOrderInfoByTxIdFromUser(txIdFromUser: string, cb: any): void;
    fetchMerchantOrderByTxIdFromUser(txIdFromUser: string, cb: any): void;
    storeConversionOrderInfo(conversionOrderInfo: any, cb: any): void;
    storeMerchantOrder(merchantOrder: any, cb: any): void;
    storeUserWatchAddress(user: any, cb: any): void;
    updateUserWatchAddress(user: any, cb: any): void;
    removeUserWatchAddress(userInfo: any, cb: any): void;
    fetchAllAddressByMsgId(msgId: string, cb: any): void;
    fetchAllMsgIdByAddress(address: string, cb: any): void;
    storeOrderInfoNoti(orderInfoNoti: OrderInfoNoti, cb: any): void;
    fetchOrderInfoNoti(opts: any, cb: any): void;
    fetchAllOrderInfo(opts: any, cb: any): void;
    fetchAllOrderInfoNotInQueue(cb: any): void;
    fetchAllOrderInfoInQueue(cb: any): void;
    countAllOrderInfo(opts: any): Promise<number>;
    fetchAllConversionOrderInfo(opts: any, cb: any): void;
    countAllConversionOrderInfo(opts: any): Promise<number>;
    fetchAllCoinConfig(cb: any): void;
    storeListCoinConfig(listCoinConfig: any, cb: any): void;
    updateCoinConfig(coinConfig: any, cb: any): void;
    updateDailyLimitCoinConfig(coinConfig: any, cb: any): void;
    resetAllDailyLimitUsageInCoinConfig(cb: any): void;
    storeWalletAndUpdateCopayersLookup(wallet: any, cb: any): void;
    fetchCopayerLookup(copayerId: any, cb: any): void;
    fetchAllAddressInUserWatchAddress(cb: any): void;
    _completeTxData(walletId: any, txs: any, cb: any): void;
    fetchTx(walletId: any, txProposalId: any, cb: any): any;
    fetchTxByHash(hash: any, cb: any): any;
    fetchLastTxs(walletId: any, creatorId: any, limit: any, cb: any): void;
    fetchEthPendingTxs(multisigTxpsInfo: any): Promise<unknown>;
    fetchPendingTxs(walletId: any, cb: any): void;
    fetchTxs(walletId: any, opts: any, cb: any): void;
    fetchBroadcastedTxs(walletId: any, opts: any, cb: any): void;
    fetchNotifications(walletId: any, notificationId: any, minTs: any, cb: any): void;
    storeNotification(walletId: any, notification: any, cb: any): void;
    storeTx(walletId: any, txp: any, cb: any): void;
    removeTx(walletId: any, txProposalId: any, cb: any): void;
    removeWallet(walletId: any, cb: any): void;
    fetchAddresses(walletId: any, cb: any): void;
    migrateToCashAddr(walletId: any, cb: any): void;
    fetchUnsyncAddresses(walletId: any, cb: any): void;
    fetchNewAddresses(walletId: any, fromTs: any, cb: any): void;
    storeAddress(address: any, cb: any): void;
    markSyncedAddresses(addresses: any, cb: any): void;
    deregisterWallet(walletId: any, cb: any): void;
    storeAddressAndWallet(wallet: any, addresses: any, cb: any): any;
    fetchAddressWithWalletId(walletId: any, cb: any): void;
    fetchAddressByWalletId(walletId: any, address: any, cb: any): void;
    fetchAddressesByWalletId(walletId: any, addresses: any, cb: any): void;
    fetchAddressByCoin(coin: any, address: any, cb: any): any;
    fetchPreferences(walletId: any, copayerId: any, cb: any): void;
    storePreferences(preferences: any, cb: any): void;
    storeEmail(email: any, cb: any): void;
    fetchUnsentEmails(cb: any): void;
    fetchEmailByNotification(notificationId: any, cb: any): void;
    getTxHistoryCacheStatusV8(walletId: any, cb: any): void;
    getWalletAddressChecked(walletId: any, cb: any): void;
    setWalletAddressChecked(walletId: any, totalAddresses: any, cb: any): void;
    getTxHistoryCacheV8(walletId: any, skip: any, limit: any, cb: any): void;
    clearWalletCache(walletId: any, cb: any): void;
    storeTxHistoryStreamV8(walletId: any, streamKey: any, items: any, cb: any): void;
    clearTxHistoryStreamV8(walletId: any, cb: any): void;
    getTxHistoryStreamV8(walletId: any, cb: any): void;
    updateCacheTxHistoryByTxId(walletId: any, txId: any, inputAddresses: any, cb: any): void;
    storeTxHistoryCacheV8(walletId: any, tipIndex: any, items: any, updateHeight: any, cb: any): void;
    storeFiatRate(coin: any, rates: any, cb: any): void;
    storeCurrencyRate(rates: any, cb: any): void;
    fetchCurrencyRates(code: any, ts: any, cb: any): void;
    fetchFiatRate(coin: any, code: any, ts: any, cb: any): void;
    fetchHistoricalRates(coin: any, code: any, ts: any, cb: any): void;
    fetchTxNote(walletId: any, txid: any, cb: any): void;
    _completeTxNotesData(walletId: any, notes: any, cb: any): void;
    fetchTxNotes(walletId: any, opts: any, cb: any): void;
    storeTxNote(txNote: any, cb: any): void;
    getSession(copayerId: any, cb: any): void;
    storeSession(session: any, cb: any): void;
    fetchPushNotificationSubs(copayerId: any, cb: any): void;
    fetchLatestPushNotificationSubs(cb: any): void;
    storePushNotificationSub(pushNotificationSub: any, cb: any): void;
    removePushNotificationSub(copayerId: any, token: any, cb: any): void;
    fetchActiveTxConfirmationSubs(copayerId: any, cb: any): void;
    storeTxConfirmationSub(txConfirmationSub: any, cb: any): void;
    removeTxConfirmationSub(copayerId: any, txid: any, cb: any): void;
    _dump(cb: any, fn: any): void;
    checkAndUseGlobalCache(key: any, duration: any, cb: any): void;
    storeGlobalCache(key: any, values: any, cb: any): void;
    clearGlobalCache(key: any, cb: any): void;
    walletCheck: (params: any) => Promise<unknown>;
    acquireLock(key: any, expireTs: any, cb: any): void;
    releaseLock(key: any, cb: any): void;
    clearExpiredLock(key: any, cb: any): void;
    fetchTestingAdverts(cb: any): void;
    fetchActiveAdverts(cb: any): void;
    fetchAdvertsByCountry(country: any, cb: any): void;
    fetchAllAdverts(cb: any): void;
    removeAdvert(adId: any, cb: any): void;
    storeAdvert(advert: any, cb: any): void;
    fetchAdvert(adId: any, cb: any): void;
    activateAdvert(adId: any, cb: any): void;
    deactivateAdvert(adId: any, cb: any): void;
}
//# sourceMappingURL=storage.d.ts.map