import { DBStore } from './datastore/db'; import { AccountDTO, AddressDTO, AssetEntity, AssetTransactionEntity, NftEntity, SessionEntity, TokenEntity, TransactionEntity, VaultDTO } from '../types/db.types'; import { AssetType } from '../types/wallet.types'; export type DBEvent = { type: 'tx_refresh'; } | { type: 'nft_refresh'; } | { type: 'token_refresh'; }; export type DBUpdateCallback = (event: DBEvent) => void; export declare class WalletDB { private readonly store; private updateCallback?; constructor(store: DBStore); onUpdate(callback: DBUpdateCallback): void; private notify; initSchema(): Promise; clearData(): Promise; addLocalTransaction(tx: TransactionEntity): Promise; addAssetTransaction(assetTx: AssetTransactionEntity): Promise; getLocalTransactions(account: number, tokenId?: string): Promise; getPageLocalTransactions(account: number, pageNum: number, pageSize: number, tokenId?: string): Promise; countLocalTransactions(account: number, tokenId?: string): Promise; clearLocalTransactions(account: number): Promise; saveToken(account: number, token: TokenEntity): Promise; getLocalTokens(account: number, pageNum: number, pageSize: number): Promise; getToken(id: string): Promise; deleteToken(account: number, tokenId: string): Promise; saveNft(account: number, nft: NftEntity, time: number): Promise; getLocalNfts(account: number, pageNum: number, pageSize: number): Promise; getLocalNft(id: string): Promise; deleteNft(account: number, tokenId: string): Promise; countLocalNfts(account: number): Promise; getAssets(account: number, type: AssetType): Promise; saveAsset(asset: AssetEntity): Promise; removeAsset(account: number, id: string): Promise; saveAccount(account: AccountDTO): Promise; getAccounts(): Promise; countAccounts(): Promise; updateAccountName(account: number, name: string): Promise; saveSession(session: SessionEntity): Promise; getAccountSessions(accountId: number): Promise; removeSession(sessionId: string): Promise; saveAddress(address: AddressDTO): Promise; getReceiveAddresses(): Promise; getChangeAddresses(): Promise; countAddresses(): Promise; getVaults(): Promise; saveVault(vault: VaultDTO): Promise; } //# sourceMappingURL=wallet-db.d.ts.map