export interface SwebenchRunRecord {
    instance_id: string;
    repo: string;
    workspace: string;
    exit_code: number | null;
    parse_ok: boolean;
    approval_denials: unknown[];
    patch_bytes: number;
    patch_path: string;
    stdout_path: string;
    stderr_path: string;
    interactive_prompt_detected: boolean;
    timed_out: boolean;
    post_patch_timeout: boolean;
    duration_ms: number;
    session_id?: string;
    error?: string;
    infra_attempt?: number;
    runtime_failure_kind?: string;
    runtime_failure_status?: number;
    runtime_failure_message?: string;
    runtime_failure_detail?: string;
    provider_failure?: boolean;
    provider_quota_exhausted?: boolean;
    task_no_progress?: boolean;
    task_no_progress_recovery_attempted?: boolean;
    task_no_progress_recovered?: boolean;
    timeout_empty_stdout?: boolean;
    post_patch_timeout_preserved_patch?: boolean;
    port_collision?: boolean;
    score_eligible?: boolean;
}
export interface SwebenchRunDiagnostics {
    runtime_failure_kind?: string;
    runtime_failure_status?: number;
    runtime_failure_message?: string;
    runtime_failure_detail?: string;
    provider_failure?: boolean;
    provider_quota_exhausted?: boolean;
    task_no_progress?: boolean;
    port_collision?: boolean;
}
export declare function diagnoseSwebenchRun(finalJsonValue: unknown, fallbackText?: string): SwebenchRunDiagnostics;
export declare function shouldWriteSwebenchPrediction(record: SwebenchRunRecord): boolean;
export declare function isPostPatchTimeoutPreservedPatch(record: SwebenchRunRecord): boolean;
export declare function summarizeSwebenchRecords(rows: SwebenchRunRecord[], expected: number, label: string): Record<string, unknown>;
