import type { Document, Transaction } from '../types.js';
/**
 * Filter transactions that should be excluded from matching
 * Excludes transactions marked as fees (is_fee = true)
 * @param transaction - Transaction to check
 * @returns true if transaction should be included in matching
 */
export declare function isValidTransactionForMatching(transaction: Transaction): boolean;
/**
 * Filter documents that should be excluded from matching
 * Excludes documents with null mandatory fields (total_amount or currency_code)
 * @param document - Document to check
 * @returns true if document should be included in matching
 */
export declare function isValidDocumentForMatching(document: Document): boolean;
/**
 * Check if a date falls within the matching window
 * Window is calculated as ±windowMonths from the reference date
 * @param candidateDate - Date to check
 * @param referenceDate - Center point of the window
 * @param windowMonths - Number of months before/after (default 12)
 * @returns true if within window
 */
export declare function isWithinDateWindow(candidateDate: Date, referenceDate: Date, windowMonths?: number): boolean;
