import type { Response } from 'express';
import type { AuthRequest } from '../../middlewares/validateUser';
export declare const calculateReviewCountsFromDatabase: (db: any, resultId: string) => Promise<{
    total: any;
    reviewed: any;
}>;
export declare const getEvalTables: (params?: any) => Promise<{
    TestRunTable: import("../../..").EvaluateTable;
} | null>;
export declare const CalulateTotalStats: (tableBody?: any[]) => any;
export declare const calculateMetricsAndFailures: (tableBody: any[], applicationName: string) => {
    totalAssertions: number;
    passedAssertions: number;
    failedAssertions: number;
    assertionTypes: Record<string, {
        total: number;
        passed: number;
        failed: number;
        error: number;
        averageScore: number;
    }>;
    failureDetails: Array<{
        testCase: string;
        provider: string;
        assertionType: string;
        reason: string;
        score: number;
    }>;
};
export declare const findApplicationFromProvider: (applications: any[], providerId: any) => any;
export declare const fetchTestRunTable: (params?: any) => Promise<{
    resultTable: {
        head: any;
        body: any;
    };
    pagination: {
        total: any;
        page: any;
        limit: any;
        totalPages: number;
    };
    reviewCounts: {
        total: any;
        reviewed: any;
    };
    upgradeMetadata: {
        upgradeRequired: boolean;
        upgradeTitle: string;
        topUpRequired: boolean;
        upgradeMessage: string;
        currentPlan: string;
        currentPlanId: string;
    };
} | null>;
export declare const fetchResultDetails: (params?: any) => Promise<{
    id: any;
    createdAt: any;
    status: any;
    shareableReportAccessKey: any;
    shareableReportExpiry: any;
    applicationsArray: {
        name: any;
        id: any;
    }[];
    defaultApplication: any;
    applications: any[];
    applicationIds: any[];
    promptLibrary: string;
    totalPrompts: string | null;
    stats: any;
    reportsData: {
        totalAssertions: number;
        passedAssertions: number;
        failedAssertions: number;
        assertionTypes: Record<string, {
            total: number;
            passed: number;
            failed: number;
            error: number;
            averageScore: number;
        }>;
        failureDetails: Array<{
            testCase: string;
            provider: string;
            assertionType: string;
            reason: string;
            score: number;
        }>;
    };
    reviewCounts: {
        total: any;
        reviewed: any;
    };
} | null>;
export declare const getTestRunDetails: (req: AuthRequest, res: Response) => Promise<void>;
export declare const getTestRunTable: (req: AuthRequest, res: Response) => Promise<void>;
export declare const writeTestRunTable: (req: AuthRequest, res: Response) => Promise<void>;
//# sourceMappingURL=get-result-details.d.ts.map