/**
 * Transaction management module for Expo Finance Kit
 * Handles fetching and managing financial transaction data
 */
import { Transaction, TransactionQueryOptions } from '../ExpoFinanceKit.types';
/**
 * Fetches transactions based on query options
 * @param options - Query options for filtering transactions
 * @returns Promise resolving to array of transactions
 */
export declare function getTransactions(options?: TransactionQueryOptions): Promise<Transaction[]>;
/**
 * Fetches transactions for a specific account
 * @param accountId - The account ID to fetch transactions for
 * @param options - Additional query options
 * @returns Promise resolving to array of transactions
 */
export declare function getTransactionsByAccount(accountId: string, options?: Omit<TransactionQueryOptions, 'accountId'>): Promise<Transaction[]>;
/**
 * Fetches recent transactions (last 30 days)
 * @param limit - Maximum number of transactions to return
 * @returns Promise resolving to array of recent transactions
 */
export declare function getRecentTransactions(limit?: number): Promise<Transaction[]>;
/**
 * Fetches transactions for a specific date range
 * @param startDate - Start date for the range
 * @param endDate - End date for the range
 * @returns Promise resolving to array of transactions
 */
export declare function getTransactionsByDateRange(startDate: Date, endDate: Date): Promise<Transaction[]>;
/**
 * Fetches all income transactions (credits)
 * @param options - Additional query options
 * @returns Promise resolving to array of income transactions
 */
export declare function getIncomeTransactions(options?: Omit<TransactionQueryOptions, 'creditDebitIndicator'>): Promise<Transaction[]>;
/**
 * Fetches all expense transactions (debits)
 * @param options - Additional query options
 * @returns Promise resolving to array of expense transactions
 */
export declare function getExpenseTransactions(options?: Omit<TransactionQueryOptions, 'creditDebitIndicator'>): Promise<Transaction[]>;
/**
 * Fetches pending transactions
 * @param options - Additional query options
 * @returns Promise resolving to array of pending transactions
 */
export declare function getPendingTransactions(options?: Omit<TransactionQueryOptions, 'statuses'>): Promise<Transaction[]>;
/**
 * Searches transactions by merchant name or description
 * @param searchTerm - The search term
 * @param options - Additional query options
 * @returns Promise resolving to array of matching transactions
 */
export declare function searchTransactions(searchTerm: string, options?: Omit<TransactionQueryOptions, 'merchantName'>): Promise<Transaction[]>;
/**
 * Groups transactions by date
 * @param transactions - Array of transactions to group
 * @returns Map of date strings to transaction arrays
 */
export declare function groupTransactionsByDate(transactions: Transaction[]): Map<string, Transaction[]>;
/**
 * Normalizes transaction amounts based on their account types
 * @param transactions - Array of transactions to normalize
 * @returns Promise resolving to transactions with normalized amounts
 */
export declare function normalizeTransactionAmounts(transactions: Transaction[]): Promise<Transaction[]>;
/**
 * Calculates transaction statistics
 * @param transactions - Array of transactions to analyze
 * @returns Object containing transaction statistics
 */
export declare function calculateTransactionStats(transactions: Transaction[]): {
    total: number;
    totalAmount: number;
    totalIncome: number;
    totalExpenses: number;
    averageTransaction: number;
    largestExpense: number;
    largestIncome: number;
};
//# sourceMappingURL=transactions.d.ts.map