/**
 * Legacy hidden review-finding tool for agents that have not migrated to
 * incremental `yield` sections.
 *
 * Hidden by default - only enabled when explicitly listed in an agent's tools.
 * Reviewers now finish via incremental `yield`; this tool remains for
 * compatibility with older or custom review agents.
 */
import type { AgentTool } from "@oh-my-pi/pi-agent-core";
import type { Theme, ThemeColor } from "../modes/theme/theme.js";
import type { ReviewFinding } from "../task/types.js";
export type FindingPriority = "P0" | "P1" | "P2" | "P3";
export interface FindingPriorityInfo {
    ord: 0 | 1 | 2 | 3;
    symbol: "status.error" | "status.warning" | "status.info";
    color: ThemeColor;
}
export declare const PRIORITY_LABELS: FindingPriority[];
export declare function isFindingPriority(value: unknown): value is FindingPriority;
export declare function getPriorityInfo(priority: FindingPriority): FindingPriorityInfo;
declare const ReportFindingParams: import("arktype/internal/variants/object.ts").ObjectType<{
    title: string;
    body: string;
    priority: "P0" | "P1" | "P2" | "P3";
    confidence: number;
    file_path: string;
    line_start: number;
    line_end: number;
}, {}>;
interface ReportFindingDetails {
    title: string;
    body: string;
    priority: FindingPriority;
    confidence: number;
    file_path: string;
    line_start: number;
    line_end: number;
}
export declare function parseReportFindingDetails(value: unknown): ReportFindingDetails | undefined;
export declare const reportFindingTool: AgentTool<typeof ReportFindingParams, ReportFindingDetails, Theme>;
/** SubmitReviewDetails - used for rendering review results from yield tool */
export interface SubmitReviewDetails {
    overall_correctness: "correct" | "incorrect";
    explanation: string;
    confidence: number;
}
export type { ReportFindingDetails };
/**
 * Coerce a tool-side `ReportFindingDetails` into the cross-boundary
 * `ReviewFinding` shape consumed by the reviewer agent's JTD output schema.
 *
 * The `report_finding` tool exposes `priority` as a string enum (`"P0".."P3"`)
 * for ergonomics, but the bundled reviewer schema (and every custom review
 * agent that mirrors it) declares `priority: number`. Without this coercion
 * the auto-populated `findings[]` fails JTD validation and every review run
 * that surfaces a finding is rejected with `findings.0.priority: expected
 * number, received string`.
 */
export declare function toReviewFinding(details: ReportFindingDetails): ReviewFinding;
