import type { Requirement, RequirementType } from "./types.js"; import type { GovernanceDecisionRecord } from "./decision_store.js"; import type { RequirementContract, DomainName } from "../types.js"; /** target → DomainName 解析器(可选;Step3-b 接 projectContracts 精确解析,本步默认 "design")。 */ export type DomainResolver = (target: string) => DomainName | undefined; /** 确定性 requirement_id:sha256(taskId|policyId|requirementType|target) 前 12 hex,加 req- 前缀。 * 同 (taskId, policyId, type, target) 恒产同 id → 回放幂等(RequirementStore.create 按 id 覆盖,不重复)。 */ export declare function generateDeterministicRequirementId(taskId: string, policyId: string, requirementType: RequirementType, target: string): string; /** 单条 governance Requirement → RequirementContract。action 类型返回 null(不桥接)。 */ export declare function bridgeGovernanceRequirement(req: Requirement, taskId: string, timestamp: number, resolveDomain?: DomainResolver): RequirementContract | null; /** 批量回放:governance decision → RequirementContract[](读 governanceResult.requirements,跳过 action)。 * 纯函数,不写 store(持久化由调用方经 RequirementStore.create 完成,签名 + 幂等覆盖)。 * 非 generated 状态(governanceResult null)→ 空数组。时间戳取 decision.createdAt(回放确定性)。 */ export declare function bridgeGovernanceDecision(decision: GovernanceDecisionRecord, resolveDomain?: DomainResolver): RequirementContract[];