import type { Policy, PolicyEngine } from "../policy/policy-engine.js"; import type { CanonicalState } from "../types/index.js"; export type DependencyStatus = "resolved" | "partial" | "unresolved"; export type DependencyRecord = { expeditionId: string; dependsOn: string[]; blocks: string[]; upstreamGateStatus?: DependencyStatus; }; /** Parse `Depends On` / `Blocks` headers from expedition charter content */ export declare function parseDependencyRecord(expeditionId: string, charterContent: string): DependencyRecord; /** Parse all expedition charters from a directory into dependency records */ export declare function parseCharterDirectory(charterDir: string): Promise; export type DependencyCheckResult = { expeditionId: string; status: DependencyStatus; upstreamExpeditions: { id: string; gateStatus: string | undefined; resolved: boolean; }[]; }; /** Check whether an expedition's upstream dependencies are resolved */ export declare function checkUpstreamDependencies(expeditionId: string, state: CanonicalState, records?: DependencyRecord[]): DependencyCheckResult; /** Create a dependency enforcement policy for the policy engine */ export declare function createDependencyEnforcementPolicy(dependencyRecords: DependencyRecord[]): Policy; /** Register the dependency enforcement policy before the policy engine is frozen */ export declare function registerDependencyPolicy(policyEngine: PolicyEngine, dependencyRecords: DependencyRecord[]): void; export type PropagationResult = { policyId: string; effect: string; blockedExpeditions: string[]; };