import type { ArtifactDeclaration, DomainContract, DomainName } from "../../types.js"; import type { ResolvedConfig } from "../../../context/config/resolver.js"; import type { TaskContext } from "../../../types/index.js"; import type { ResolvedFullInput, VerificationSnapshot } from "../types.js"; /** 对会影响验证的项目配置事实计算稳定摘要,供一次证据评估检测中途配置变化。 */ export declare function computeVerificationConfigHash(config: ResolvedConfig): string; export declare class DigestBuilder { private readonly projectRoot; constructor(projectRoot: string); private artifactExists; private resolvedArtifactExists; private contentDigest; private findArtifact; private dependencyClosure; private artifactInput; private conditionalPresence; private inputDigest; /** 原型锚点 pin:产物自身或依赖闭包含 prototype_spec 时,把锚点源码集内容指纹并入输入摘要—— * 原型引用面内任一文件变更/缺失/恢复都会改变摘要,经 freshness 轴使下游证据失效(原型动了必有人知道)。 * 无锚点(仅图片素材/无原型说明)时不加事实,不扰动既有摘要(stableValue 会剔除 undefined 项)。 */ private prototypeAnchorPin; private resolvePrototypeSpecFiles; capture(input: ResolvedFullInput): Promise; captureCurrent(task: TaskContext, domain: DomainName, declaration: ArtifactDeclaration, config: ResolvedConfig, contracts: DomainContract[]): Promise; }