type PulseSecurityTestSuiteSubCategoryRow = {
    pluginName: string;
    type: string;
    attacks: string;
    description: string;
    passRate: string;
    failed: string;
    errors: string;
    passRateWithFilter: string;
    severity: string;
};
export declare class PulseEvaluationService {
    private logger;
    constructor();
    private getAudioLogContent;
    private getFileMetadata;
    private static saveAllEvalRecords;
    private getPromptAndProviderResponseFromSpans;
    private static modifyEvalRecordRowForDb;
    private calculateStats;
    private addParamsToQuery;
    private runTests;
    private runSecurityEvaluation;
    private parseReportsForClickHouse;
    private uploadThroughControlplane;
    private generateTraceId;
    private generateSpanId;
    private createTrace;
    runEvaluation(params: {
        applicationId: string;
        traceId?: string;
        sessionId?: string;
        spans?: any[];
        prompt?: any;
        response?: any;
        monitoringConfig: any;
        projectId?: string;
        application?: any;
        workspaceId: string;
        skipMap: Map<string, boolean>;
        orgRestrictions: any;
        renewalNotificationMap: Map<string, {
            spans: boolean;
            metric: boolean;
        }>;
        usageNotificationMap: Map<string, {
            spans: boolean;
            metric: boolean;
            wallet: boolean;
        }>;
        exhaustedNotificationMap: Map<string, {
            spans: boolean;
            metric: boolean;
            wallet: boolean;
        }>;
        logContent?: any;
        createTrace?: boolean;
    }): Promise<{
        evalId: string;
        applicationId: string;
        traceId: string | undefined;
        spans: any[] | undefined;
        monitoringConfig: any;
    } | undefined>;
    getEvaluation(params: {
        traceId: string;
    }): Promise<any>;
    getAllEvalResultsForProject(applicationId: string, startDate?: string, endDate?: string): Promise<{
        securityTestRuns: any[];
        testRuns: any[];
        securityTestStats: {
            total: number;
            successes: number;
            failures: number;
            errors: number;
        };
        totalSecurityRuns: number;
        plugins: string[];
    }>;
    getEvaluationSecurityOverviewForProject(applicationId: string, startDate?: string, endDate?: string): Promise<{
        securityTestStats: {
            total: number;
            successes: number;
            failures: number;
            errors: number;
        };
        totalSecurityRuns: number;
        plugins: string[];
    }>;
    getEvaluationTestRunsForProject(applicationId: string, startDate?: string, endDate?: string): Promise<any[]>;
    getEvaluationSecurityTestRunsForProject(applicationId: string, startDate?: string, endDate?: string): Promise<any[]>;
    getEvaluationSecurityCategoryWiseVolumeForProject(applicationId: string, startDate?: string, endDate?: string): Promise<Array<{
        label: string;
        value: number;
        errors: number;
        failures: number;
        color?: string;
    }>>;
    getEvaluationSecurityTestSuitesTableForProject(applicationId: string, startDate?: string, endDate?: string): Promise<{
        subCategoryStats: PulseSecurityTestSuiteSubCategoryRow[];
        evalId: string | null;
    }>;
    /**
     * Loads eval rows for one security probe plugin (Pulse Track sidebar). Called on demand — not with the table payload.
     */
    getEvaluationSecurityTestSuitePluginSidebarForProject(applicationId: string, pluginId: string, startDate?: string, endDate?: string): Promise<any[]>;
    getEvaluationSecurityVulnerabilitiesOverTimeForProject(applicationId: string, _type: string, startDate: string, endDate: string): Promise<any[]>;
    getEvaluationAudio(params: {
        traceId: string;
        applicationId: string;
    }): Promise<any>;
    /**
     * Generate a signed URL for S3 object with folder overlap handling
     * @param params - Parameters for generating signed URL
     * @returns Promise<string> - The signed URL
     */
    private generateSignedUrl;
}
export declare const pulseEvaluationService: PulseEvaluationService;
export {};
//# sourceMappingURL=pulseEvaluationService.d.ts.map