export type SecurityChartsFilterParams = {
    applicationId: string;
    start?: string;
    end?: string;
    type?: string;
    limit?: number;
    projectId?: string;
    projectIds?: string[];
};
export declare class SecurityChartsService {
    private static instance;
    private constructor();
    static getInstance(): SecurityChartsService;
    /**
     * Fetch security eval result rows from DB (same pattern as getTestRunMetricsGraph / getTopMetricFailures).
     * Returns eval results for completed security test runs in the given project/application/date range.
     */
    private getSecurityEvalResultsFromDb;
    /**
     * Security board chart: metric card – total security eval count and aggregated
     * total/pass/fail/error. totalSecurityEval from getWorkspaceDetails-style query;
     * total/pass/fail/error from getTestRunMetricsGraph-style aggregation (type security).
     */
    getSecurityProbes(params: SecurityChartsFilterParams): Promise<{
        totalSecurityEval: number;
        total: number;
        pass: number;
        fail: number;
        error: number;
    }>;
    /** Security board chart: metric card – vulnerabilities (failures) count */
    getVulnerabilitiesDetected(params: SecurityChartsFilterParams): Promise<{
        failures: number;
        total: number;
    }>;
    /** Security board chart: bar chart – vulnerabilities over time */
    getVulnerabilitiesOverTime(params: SecurityChartsFilterParams): Promise<Array<{
        x: string;
        y: number;
        date?: Date;
        weekStart?: Date;
        weekEnd?: Date;
    }>>;
    /** Security board chart: polar/radar – category-wise volume */
    getCategoryWiseVolumeAnalysis(params: SecurityChartsFilterParams): Promise<Array<{
        label: string;
        value: number;
        color: string;
    }>>;
    /**
     * Security board: recent security evaluations as graph data (count per day for line chart).
     * Single query: eval_results joined to test_runs via test_runs_to_evals; only createdAt selected.
     */
    getRecentSecurityEvaluations(params: SecurityChartsFilterParams): Promise<Array<{
        timestamp: string;
        count: number;
    }>>;
    /** Security board: recent security evaluation runs (table) */
    getRecentSecurityEvaluationsList(params: SecurityChartsFilterParams): Promise<Record<string, any>>;
    /**
     * Security board: probe results over time.
     * Same response format as getTestRunMetricsGraph: { graphData } with graphData from getDateRangeData.
     * Logic aligned with getTestRunMetricsGraph (type: 'security').
     */
    getProbeResultsOverTime(params: SecurityChartsFilterParams): Promise<{
        graphData: Array<{
            date: string;
            total: number;
            pass: number;
            fail: number;
            error: number;
        }>;
    }>;
    /** Security board: top security control failures (same logic as getTopMetricFailures with type 'security') */
    getTopSecurityControlFailures(params: SecurityChartsFilterParams): Promise<Array<{
        control: string;
        failureCount: number;
        total: number;
        passCount: number;
        failureRate: number;
    }>>;
}
export declare const securityChartsService: SecurityChartsService;
//# sourceMappingURL=securityChartsService.d.ts.map