import type { SetupAgentsEvidenceRecord } from './index.js';
export type TestStatus = 'pass' | 'fail' | 'skip';
export type TestResult = {
    name: string;
    status: TestStatus;
    duration?: number;
    error?: string;
};
export type TestSummary = {
    total: number;
    passed: number;
    failed: number;
    skipped: number;
    duration: number;
    results: TestResult[];
};
export type CoverageSummary = {
    lines: CoverageMetric;
    functions: CoverageMetric;
    branches: CoverageMetric;
    statements?: CoverageMetric;
};
export type CoverageMetric = {
    found: number;
    hit: number;
    pct: number;
};
export type LintSeverity = 'error' | 'warning';
export type LintIssue = {
    file: string;
    line: number;
    column: number;
    severity: LintSeverity;
    message: string;
    ruleId?: string;
};
export type LintSummary = {
    errors: number;
    warnings: number;
    fixable: number;
    issues: LintIssue[];
};
export type EvidenceGenerationStatus = 'success' | 'partial' | 'failed';
export type EvidenceGenerationResult = {
    status: EvidenceGenerationStatus;
    evidenceRecord?: SetupAgentsEvidenceRecord;
    summary: string;
    error?: string;
};
export type AllEvidenceResult = {
    test: EvidenceGenerationResult;
    coverage: EvidenceGenerationResult;
    lint: EvidenceGenerationResult;
    overallStatus: EvidenceGenerationStatus;
};
