/**
 * Payment metrics data structure
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export interface PaymentMetrics {
    operation: string;
    userId?: string;
    amount?: number;
    currency?: string;
    status: 'success' | 'failed' | 'pending';
    timestamp: string;
    metadata?: Record<string, any>;
}
/**
 * Alert threshold configuration
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export interface AlertThresholds {
    paymentFailureRate: number;
    paymentVolumeThreshold: number;
    errorRateThreshold: number;
}
/**
 * Record payment metrics for monitoring
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare function recordPaymentMetrics(metrics: PaymentMetrics): Promise<void>;
/**
 * Check payment failure rate and trigger alerts if needed
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare function checkPaymentFailureRate(timeWindowHours?: number): Promise<{
    failureRate: number;
    shouldAlert: boolean;
}>;
/**
 * Check daily payment volume and trigger alerts if needed
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare function checkPaymentVolume(volumeThreshold?: number): Promise<{
    totalVolume: number;
    shouldAlert: boolean;
}>;
/**
 * Get payment metrics summary for a time period
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare function getPaymentMetricsSummary(startDate: Date, endDate: Date): Promise<{
    totalPayments: number;
    successfulPayments: number;
    failedPayments: number;
    totalVolume: number;
    averageAmount: number;
}>;
/**
 * Clean up old metrics and alerts (call periodically)
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare function cleanupOldMetrics(metricsRetentionDays?: number, alertsRetentionDays?: number): Promise<void>;
