import { type ReviewIssue, type ReviewSummary, type ReviewStatus } from "./review-report.js";
export interface ProjectInspectOptions {
    projectDir: string;
    beatId?: string;
    outputPath?: string;
    writeReport?: boolean;
}
export interface ProjectInspectResult {
    schemaVersion: "1";
    kind: "project";
    mode: "project";
    project: string;
    beat?: string;
    status: ReviewStatus;
    score: number;
    issues: ReviewIssue[];
    summary: ReviewSummary;
    sourceReports: string[];
    checks: {
        files: Record<string, boolean>;
        storyboard: {
            ok: boolean;
            beatCount: number;
        };
        compositions: {
            expected: number;
            found: number;
            missing: string[];
        };
        lint: {
            ok: boolean | null;
            errorCount: number;
            warningCount: number;
            infoCount: number;
        };
        buildReport: {
            exists: boolean;
            outputPath?: string;
        };
        assets: {
            checked: number;
            missing: string[];
            stale: string[];
            unknownFreshness: string[];
        };
        rootSync: {
            ok: boolean | null;
            issueCount: number;
            issues: string[];
        };
    };
    retryWith: string[];
    reportPath?: string;
}
export declare function inspectProject(opts: ProjectInspectOptions): Promise<ProjectInspectResult>;
export declare function displayIssue(issue: ReviewIssue): string;
