export declare class PulseAlertCheckCronService {
    private logger;
    constructor();
    /**
     * Calculate time window based on comparator and type
     */
    private calculateTimeWindow;
    private getFormattedTimestamp;
    /**
     * Get fail count from PostgreSQL eval_results table for functionalEvaluation and securityEvaluation
     */
    private getFailCountFromDatabase;
    /**
     * Get fail count from ClickHouse eval_results table
     */
    private getFailCountFromClickHouse;
    /**
     * Get fail count from ClickHouse guardrail_results table for INPUT_GAURD_RAIL and OUTPUT_GAURD_RAIL
     * Returns count of failed components (not rows), with traces for each failed component
     */
    private getGuardrailFailCountFromClickHouse;
    /**
     * Check a single alert configuration
     */
    private checkSingleAlert;
    /**
     * Send email notification
     */
    private sendEmailNotification;
    /**
     * Generic function to make API calls with configurable headers, authentication, and body
     */
    private makeApiCall;
    /**
     * Process webhook body with nunjucks template replacement
     */
    private processWebhookBodyWithNunjucks;
    /**
     * Prepare webhook variables for nunjucks template
     */
    private prepareWebhookVariables;
    /**
     * Send webhook notification with nunjucks body processing
     */
    private sendWebhookNotificationWithNunjucks;
    /**
     * Send webhook notification
     */
    private sendWebhookNotification;
    /**
     * Store alert log in pulseAlertLogsTable when threshold is reached
     */
    private storeAlertLog;
    /**
     * Check all active alerts and update alertsTriggered count if conditions are met
     */
    checkAllAlerts(): Promise<{
        totalAlertsChecked: number;
        totalAlertsTriggered: number;
        details: Array<{
            alertId: string;
            applicationId: string;
            workspaceId: string;
            triggered: boolean;
            failedMetrics: {
                type: string;
                metricType?: string;
                subType?: string;
                metricValue: number;
                metricComparator: number;
                metricComparatorType: string;
                failCount: number;
                threshold: number;
                timeWindow: {
                    start: string;
                    end: string;
                };
                alertName: string;
                alertCondition: string;
                traces?: Array<{
                    trace_id: string;
                    assertion: {
                        assertion_name: string;
                        result: any;
                    };
                }>;
            }[];
        }>;
    }>;
}
export declare const pulseAlertCheckCronService: PulseAlertCheckCronService;
//# sourceMappingURL=pulseAlertCheckCronService.d.ts.map