import type { PaginationOptions } from "./MultichainTransactionsController.mjs"; /** * This class manages the tracking and periodic updating of transactions for multiple blockchain accounts. * * The tracker uses a polling mechanism to periodically check and update transactions * for all tracked accounts, respecting each account's specific block time to determine * when updates are needed. */ export declare class MultichainTransactionsTracker { #private; constructor(updateTransactionsCallback: (accountId: string, pagination: PaginationOptions) => Promise); /** * Starts the tracking process. */ start(): void; /** * Stops the tracking process. */ stop(): void; /** * Checks if an account ID is being tracked. * * @param accountId - The account ID. * @returns True if the account is being tracked, false otherwise. */ isTracked(accountId: string): boolean; /** * Asserts that an account ID is being tracked. * * @param accountId - The account ID. * @throws If the account ID is not being tracked. */ assertBeingTracked(accountId: string): void; /** * Starts tracking a new account ID. This method has no effect on already tracked * accounts. * * @param accountId - The account ID. * @param blockTime - The block time (used when refreshing the account transactions). * @param pagination - Options for paginating transaction results. Defaults to { limit: 10 }. */ track(accountId: string, blockTime: number, pagination?: PaginationOptions): void; /** * Stops tracking a tracked account ID. * * @param accountId - The account ID. * @throws If the account ID is not being tracked. */ untrack(accountId: string): void; /** * Update the transactions for a tracked account ID. * * @param accountId - The account ID. * @throws If the account ID is not being tracked. */ updateTransactionsForAccount(accountId: string): Promise; /** * Update the transactions of all tracked accounts */ updateTransactions(): Promise; } //# sourceMappingURL=MultichainTransactionsTracker.d.mts.map