import type { HashLedger } from "../core/lisa-owned-provenance.js";
/** One doctor check result, structurally identical to `DoctorCheck`. */
interface ArtifactCheck {
    name: string;
    status: "ok" | "warn" | "fail";
    detail: string;
}
/**
 * Report Lisa-owned enforcement artifacts that differ from what Lisa ships.
 *
 * Two different findings, deliberately not merged. An *outdated* copy is fixed
 * by running apply. A *modified* copy is one apply will now refuse to touch, so
 * telling the operator to run apply would send them round a loop that never
 * terminates and make the protection look like a bug. Both still warn — a guard
 * nobody can account for is worth a line either way, and staying silent about a
 * downstream edit would let a project quietly swap a guard for a stub.
 *
 * A third finding covers absence, but only for the universal tree. A missing
 * stack-specific artifact means that stack does not apply here, which is not
 * drift. A missing universal one means apply has not run, and the CI gate that
 * calls it is not running at all.
 * @param targetPath - Project path to inspect
 * @param lisaRoot - Installed Lisa package root (injected by tests)
 * @param ledger - Known-good hashes, defaulting to Lisa's shipping history
 * @returns Doctor check result
 */
export declare function checkLisaOwnedArtifacts(targetPath: string, lisaRoot?: string, ledger?: HashLedger): Promise<ArtifactCheck>;
export {};
//# sourceMappingURL=doctor-lisa-owned-artifacts.d.ts.map