/**
 * Mapping Migration Utilities
 *
 * Converts legacy three-level mapping system (v3.3) to new two-level system (v3.6).
 * Provides backward compatibility while encouraging migration to the simpler format.
 *
 * @module realize/utils/mapping-migration
 * @version 3.6.0
 */
import type { ManifestConfig } from './manifest-loader.js';
import type { DefaultMappingsV2, OverrideMapping } from '../types/unified-mappings.js';
/**
 * Convert legacy three-level mappings to new two-level system
 *
 * Migrates:
 * - defaultMappings (v3.3) → defaults (v3.6)
 * - capabilityMappings (v3.3) → overrides (v3.6)
 * - instanceMappings (v3.3) → overrides (v3.6) with configuration
 *
 * @param manifest - Manifest with legacy mappings
 * @returns Manifest with new two-level mappings
 */
export declare function migrateToTwoLevelSystem(manifest: ManifestConfig): ManifestConfig;
/**
 * Detect which mapping system is in use
 *
 * @param manifest - Manifest to analyze
 * @returns Mapping system version
 */
export declare function detectMappingSystem(manifest: ManifestConfig): 'v3.6' | 'v3.3' | 'none';
/**
 * Get effective mappings using the appropriate system
 *
 * Automatically migrates if using legacy system.
 *
 * @param manifest - Manifest configuration
 * @returns Defaults and overrides (migrated if necessary)
 */
export declare function getEffectiveMappings(manifest: ManifestConfig): {
    defaults?: DefaultMappingsV2;
    overrides?: OverrideMapping[];
    system: 'v3.6' | 'v3.3' | 'none';
};
/**
 * Validate that manifest uses consistent mapping system
 *
 * Warns if mixing v3.3 and v3.6 systems.
 *
 * @param manifest - Manifest to validate
 * @returns Validation warnings
 */
export declare function validateMappingConsistency(manifest: ManifestConfig): string[];
//# sourceMappingURL=mapping-migration.d.ts.map