import { Db } from 'mongodb';
import { Wallet } from './model';
export declare class Storage {
    static BCHEIGHT_KEY: string;
    static collections: {
        WALLETS: 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;
    };
    db: Db;
    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;
    storeWalletAndUpdateCopayersLookup(wallet: any, cb: any): void;
    fetchCopayerLookup(copayerId: any, 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;
    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;
    storeTxHistoryCacheV8(walletId: any, tipIndex: any, items: any, updateHeight: any, cb: any): void;
    storeFiatRate(coin: any, rates: 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;
    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