/**
 * Project-Local Doctor Section
 *
 * Builds the "Project-local artifacts" section for `aiwg doctor` output
 * per the spec at @.aiwg/architecture/design-doctor-log-promote.md (#1049).
 *
 * Pure function over (projectDir, frameworkRoot) — returns a string. The
 * doctor handler in src/cli/handlers/utilities.ts is responsible for
 * printing it. Section is fully suppressed when no project-local dirs
 * are present.
 *
 * @design @.aiwg/architecture/design-doctor-log-promote.md
 * @implements #1037
 */
import type { AiwgConfig } from '../config/aiwg-config.js';
export interface DoctorSectionResult {
    /** Pre-formatted multi-line section (empty string when no project-local content). */
    output: string;
    /** Count of validation errors found. */
    validationErrors: number;
    /** Count of denylist violations (refuse-unsafe / refuse-phantom / refuse-duplicate). */
    denylistViolations: number;
    /** Count of artifacts whose deployed file hash differs from the registered hash. */
    driftCount: number;
    /** True when the section had failing content (validation, denylist, drift). */
    hasFailures: boolean;
}
interface BuildOptions {
    projectDir: string;
    frameworkRoot: string;
    /** Optional pre-loaded config; if null/undefined we skip drift detection. */
    config: AiwgConfig | null;
    /** Suppress informational subsections (counts, shadows). */
    quiet?: boolean;
}
export declare function buildProjectLocalDoctorSection(opts: BuildOptions): Promise<DoctorSectionResult>;
/** Convenience accessor: just the section text. */
export declare function projectLocalDoctorSection(projectDir: string, frameworkRoot: string, config: AiwgConfig | null, quiet?: boolean): Promise<string>;
export {};
//# sourceMappingURL=project-local-doctor.d.ts.map