import type { RequirementContract } from "./types.js"; import { type SignatureProvider } from "./signature_provider.js"; /** 生成需求 id(req- + 12 hex)。 */ export declare function generateRequirementId(): string; /** 需求契约存储 — 纯文件 CRUD + HMAC provenance,无业务逻辑。 */ export declare class RequirementStore { private readonly projectRoot; private readonly provider; constructor(projectRoot: string, provider?: SignatureProvider); private filePath; private withRequirementLock; /** 读取 + schema 校验 + HMAC 验签(fail-closed)。伪造/无 secret → null;损坏 schema throw。 */ private readAndValidate; read(requirementId: string): Promise; /** 列出某 task 的所有需求(HMAC valid;伪造/无 secret 排除)。 */ listByTask(taskId: string): Promise; /** 创建(签名 + 原子写)。无 secret throw(需求契约是可信基础,必须签名,不降级)。 */ create(record: RequirementContract): Promise; /** 更新(重签)。用于 status open→satisfied 或字段变更。篡改字段不重签 → read HMAC 失败排除。 */ update(record: RequirementContract): Promise; delete(requirementId: string): Promise; }