/**
 * SAP Message Processing Logs Advanced Client
 *
 * Diese Datei enthält erweiterte Methoden für die Message Processing Logs APIs von SAP Cloud Integration.
 * Diese Methoden sind Erweiterungen der grundlegenden API-Funktionen und bieten zusammengesetzte Operationen.
 *
 * @module sap-integration-suite-client/message-processing-logs-advanced
 */
import { MessageProcessingLogsClient } from '../message-processing-logs-client';
import { BaseCustomClient, CustomClientFactory } from './base-custom-client';
import { EnhancedMessageProcessingLog } from '../../types/enhanced-logs';
/**
 * Erweiterter MessageProcessingLogs-Client
 *
 * Diese Klasse erweitert den Basis-MessageProcessingLogsClient mit zusätzlichen
 * Funktionen für erweiterte Abfragen und Analysen.
 */
export declare class MessageProcessingLogsAdvancedClient extends BaseCustomClient<MessageProcessingLogsClient> {
    /**
     * Erstellt einen neuen MessageProcessingLogsAdvancedClient
     *
     * @param client - Die zugrundeliegende MessageProcessingLogsClient-Instanz
     */
    constructor(client: MessageProcessingLogsClient);
    /**
     * Findet Fehler-Logs für einen bestimmten Integrationsflow
     *
     * Diese Methode sucht alle fehlgeschlagenen Logs für einen bestimmten
     * Integrationsflow innerhalb eines angegebenen Zeitfensters.
     *
     * @param flowId - Die ID des Integrationsflows
     * @param options - Optionale Parameter für die Anfrage
     * @returns Promise mit den gefundenen Fehler-Logs
     *
     * @example
     * const errorLogs = await client.findErrorLogsForFlow('MyFlowId', {
     *   fromDate: new Date('2023-01-01'),
     *   toDate: new Date(),
     *   maxResults: 100
     * });
     */
    findErrorLogsForFlow(flowId: string, options?: {
        fromDate?: Date;
        toDate?: Date;
        maxResults?: number;
    }): Promise<EnhancedMessageProcessingLog[]>;
    /**
     * Gibt eine Zusammenfassung der Fehlertypen für einen bestimmten Integrationsflow zurück
     *
     * @param flowId - Die ID des Integrationsflows
     * @param options - Optionale Parameter für die Anfrage
     * @returns Promise mit der Fehlerstatistik
     *
     * @example
     * const errorStats = await client.getErrorStatisticsForFlow('MyFlowId');
     * console.log(`Häufigster Fehler: ${errorStats[0].errorType} (${errorStats[0].count} Mal)`);
     */
    getErrorStatisticsForFlow(flowId: string, options?: {
        fromDate?: Date;
        toDate?: Date;
        maxResults?: number;
    }): Promise<{
        errorType: string;
        count: number;
        percentage: number;
    }[]>;
    /**
     * Prüft die Durchlaufzeiten eines Integrationsflows und identifiziert Ausreißer
     *
     * @param flowId - Die ID des Integrationsflows
     * @param options - Optionale Parameter für die Anfrage
     * @returns Promise mit der Performance-Analyse
     *
     * @example
     * const perfAnalysis = await client.analyzeFlowPerformance('MyFlowId');
     * console.log(`Durchschnittliche Laufzeit: ${perfAnalysis.avgDuration}ms`);
     * console.log(`Ausreißer: ${perfAnalysis.outliers.length}`);
     */
    analyzeFlowPerformance(flowId: string, options?: {
        fromDate?: Date;
        toDate?: Date;
        maxResults?: number;
        outlierThreshold?: number;
    }): Promise<{
        avgDuration: number;
        minDuration: number;
        maxDuration: number;
        medianDuration: number;
        stdDevDuration: number;
        outliers: EnhancedMessageProcessingLog[];
        totalLogs: number;
    }>;
}
/**
 * Factory für die Erstellung von MessageProcessingLogsAdvancedClient-Instanzen
 */
export declare class MessageProcessingLogsAdvancedClientFactory implements CustomClientFactory<MessageProcessingLogsClient, MessageProcessingLogsAdvancedClient> {
    /**
     * Erstellt eine neue MessageProcessingLogsAdvancedClient-Instanz
     *
     * @param baseClient - Der zugrundeliegende MessageProcessingLogsClient
     * @returns Ein MessageProcessingLogsAdvancedClient
     */
    create(baseClient: MessageProcessingLogsClient): MessageProcessingLogsAdvancedClient;
}
