export interface RuntimeClaimRuleCatalogEntry { id: string; version: string; file?: string; enabled?: boolean; } export interface RuntimeClaimRule { id: string; version: string; description?: string; trigger_family: string; resource_types: string[]; host_base_type: string[]; match?: { trigger_tokens: string[]; symbol_kind?: string[]; module_scope?: string[]; resource_types?: string[]; host_base_type?: string[]; }; required_hops: string[]; guarantees: string[]; non_guarantees: string[]; next_action?: string; file_path: string; topology?: Array<{ hop: string; from: Record; to: Record; edge: { kind: string; }; constraints?: Record; }>; closure?: { required_hops: string[]; failure_map: Record; }; claims?: { guarantees: string[]; non_guarantees: string[]; next_action: string; }; } export interface RuntimeClaimRuleRegistry { repoPath: string; rulesRoot: string; catalogPath: string; activeRules: RuntimeClaimRule[]; } export type RuleRegistryLoadErrorCode = 'rule_catalog_missing' | 'rule_catalog_invalid' | 'rule_file_missing'; export declare class RuleRegistryLoadError extends Error { code: RuleRegistryLoadErrorCode; details?: Record; constructor(code: RuleRegistryLoadErrorCode, message: string, details?: Record); } export declare function parseRuleYaml(raw: string, filePath: string): RuntimeClaimRule;