expo-finance-kit
Version:
Native Expo module for Apple FinanceKit - Access financial data from Apple Card and other accounts
87 lines • 3.16 kB
TypeScript
/**
* Transaction monitoring module for Expo Finance Kit
* Handles real-time transaction change streams from FinanceKit
*/
import { TransactionsChangedPayload } from '../ExpoFinanceKit.types';
/**
* Callback type for transaction change events
*/
export type TransactionChangeCallback = (payload: TransactionsChangedPayload) => void;
/**
* Transaction monitoring manager
* Provides real-time updates when transactions are inserted, updated, or deleted
*/
declare class TransactionMonitor {
private eventEmitter;
private listeners;
private isMonitoring;
constructor();
/**
* Start monitoring transactions for specified accounts
* If no account IDs are provided, monitors all accounts
* @param accountIds - Optional array of account IDs to monitor
* @returns Promise that resolves when monitoring starts
*/
startMonitoring(accountIds?: string[]): Promise<void>;
/**
* Stop monitoring transactions
* @returns Promise that resolves when monitoring stops
*/
stopMonitoring(): Promise<void>;
/**
* Add a listener for transaction changes
* @param callback - Callback function to invoke when transactions change
* @returns Unsubscribe function
*/
addListener(callback: TransactionChangeCallback): () => void;
/**
* Remove all listeners
*/
removeAllListeners(): void;
/**
* Check if monitoring is currently active
*/
get monitoring(): boolean;
}
export declare const transactionMonitor: TransactionMonitor;
/**
* Start monitoring transactions for specified accounts
* @param accountIds - Optional array of account IDs to monitor
*/
export declare function startMonitoringTransactions(accountIds?: string[]): Promise<void>;
/**
* Stop monitoring transactions
*/
export declare function stopMonitoringTransactions(): Promise<void>;
/**
* Add a listener for transaction changes
* @param callback - Callback function to invoke when transactions change
* @returns Unsubscribe function
*/
export declare function addTransactionChangeListener(callback: TransactionChangeCallback): () => void;
/**
* Remove all transaction change listeners
*/
export declare function removeAllTransactionChangeListeners(): void;
/**
* Check if transaction monitoring is currently active
*/
export declare function isMonitoringTransactions(): boolean;
/**
* Clear history token for an account (resets monitoring state)
* @param accountId - Account ID to clear history token for
*/
export declare function clearHistoryToken(accountId: string): Promise<void>;
/**
* Set the app group identifier for background delivery
* This should match the identifier used in your Expo config plugin
* @param identifier - App group identifier (e.g., "group.com.yourapp.financekit")
*/
export declare function setAppGroupIdentifier(identifier: string): Promise<void>;
/**
* Process pending changes that were stored during background sync
* This is automatically called when the app becomes active, but can be called manually
*/
export declare function processPendingChanges(): Promise<void>;
export {};
//# sourceMappingURL=monitoring.d.ts.map