import { REQUIRED_METADATA_CONFIGURATION_KEY, type RequiredMetadataPolicyField } from "./metadata-definitions.js"; import type { MetadataConfig } from "./types/configuration.js"; export declare const METADATA_POLICY_DIFF_SCHEMA_VERSION: "renma.metadata-policy-diff.v1"; export type MetadataPolicyChangeDirection = "weakening" | "tightening"; export type MetadataPolicyProvenance = { source: "renma_default"; } | { source: "repository_configuration"; configKey: typeof REQUIRED_METADATA_CONFIGURATION_KEY; configPath: string | null; }; export interface MetadataPolicyRequirementEndpoint { required: boolean; provenance: MetadataPolicyProvenance; } export interface MetadataPolicyRequiredFieldChange { field: RequiredMetadataPolicyField; configKey: typeof REQUIRED_METADATA_CONFIGURATION_KEY; direction: MetadataPolicyChangeDirection; from: MetadataPolicyRequirementEndpoint; to: MetadataPolicyRequirementEndpoint; } export interface MetadataPolicyDiff { schemaVersion: typeof METADATA_POLICY_DIFF_SCHEMA_VERSION; changes: MetadataPolicyRequiredFieldChange[]; addedRequiredFields: RequiredMetadataPolicyField[]; removedRequiredFields: RequiredMetadataPolicyField[]; } /** Compare required declarations in stable registry order. */ export declare function buildMetadataPolicyDiff(from: MetadataConfig, to: MetadataConfig, fromConfigPath?: string, toConfigPath?: string): MetadataPolicyDiff;