/**
 * Financial Validation Utilities
 * Following Phase 2g: Strict validation for financial operations
 *
 * @module financial-validation
 * @description Enforces financial constraints:
 * - Double-entry bookkeeping rules
 * - Currency and precision validation
 * - Audit trail requirements
 * - SOX compliance checks
 */
import type { ValidationResult } from './index';
import type { AccountNumber, FinancialUser, FinancialValidationContext, FiscalPeriod, GLAccount, JournalEntry, MonetaryAmount } from './financial-types';
import { FinancialPermission } from './financial-types';
/**
 * Validate monetary amount
 */
export declare function validateMonetaryAmount(value: unknown): ValidationResult<MonetaryAmount>;
/**
 * Validate journal entry for double-entry bookkeeping
 */
export declare function validateJournalEntry(entry: unknown): ValidationResult<JournalEntry>;
/**
 * Validate financial user permissions
 */
export declare function validateFinancialUserPermission(user: FinancialUser, requiredPermission: FinancialPermission, context?: FinancialValidationContext): ValidationResult<boolean>;
/**
 * Validate a complete general ledger transaction
 */
export declare function validateGLTransaction(entry: JournalEntry, accounts: Map<AccountNumber, GLAccount>, period: FiscalPeriod): ValidationResult<JournalEntry>;
export declare const financialValidators: {
    amount: typeof validateMonetaryAmount;
    journalEntry: typeof validateJournalEntry;
    permission: typeof validateFinancialUserPermission;
    transaction: typeof validateGLTransaction;
};
//# sourceMappingURL=financial-validation.d.ts.map