/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */
/**
 * Structured completion reports — per-archetype output contracts.
 * Agents include these in their final output. The WrfcController extracts them.
 */
/** Base fields shared by all completion reports. */
export interface BaseCompletionReport {
    version: 1;
    archetype: string;
    summary: string;
    wrfcId?: string;
}
/** Engineer agent completion report. */
export interface EngineerReport extends BaseCompletionReport {
    archetype: 'engineer';
    gatheredContext: string[];
    plannedActions: string[];
    appliedChanges: string[];
    filesCreated: string[];
    filesModified: string[];
    filesDeleted: string[];
    decisions: Array<{
        what: string;
        why: string;
    }>;
    issues: string[];
    uncertainties: string[];
}
/** Reviewer agent completion report. */
export interface ReviewerReport extends BaseCompletionReport {
    archetype: 'reviewer';
    score: number;
    passed: boolean;
    dimensions: Array<{
        name: string;
        score: number;
        maxScore: number;
        issues: string[];
    }>;
    issues: Array<{
        severity: 'critical' | 'major' | 'minor' | 'suggestion';
        description: string;
        file?: string;
        line?: number;
        pointValue: number;
    }>;
}
/** Tester agent completion report. */
export interface TesterReport extends BaseCompletionReport {
    archetype: 'tester';
    testsWritten: string[];
    testsPassed: number;
    testsFailed: number;
    coverage?: {
        lines: number;
        branches: number;
        functions: number;
    };
    failures: Array<{
        test: string;
        error: string;
    }>;
}
/** Generic completion report for other archetypes. */
export interface GenericReport extends BaseCompletionReport {
    /** Archetype name. For non-standard archetypes (not engineer/reviewer/tester). */
    archetype: string;
    result: string;
}
export type CompletionReport = EngineerReport | ReviewerReport | TesterReport | GenericReport;
/**
 * Parse a completion report from raw LLM output.
 * Looks for a JSON block delimited by ```json\n{...}\n``` or a bare JSON object
 * with a "version": 1 field.
 * Returns null if no valid report found.
 */
export declare function parseCompletionReport(rawOutput: string): CompletionReport | null;
//# sourceMappingURL=completion-report.d.ts.map