/**
 * Compatibility helpers for registry settings with deprecated relative paths.
 * @module sync/legacy-aliases
 */
import { type JsonValue } from "./json-path.js";
/** One deprecated relative path and the current path that replaces it. */
export interface LegacyAliasMapping {
    readonly currentPath: string;
    readonly legacyPath: string;
}
/**
 * Whether a value contains any declared deprecated alias. Presence is checked
 * against `undefined` so explicit `0` and `null` values remain human-owned.
 * @param value - Setting value to inspect
 * @param aliases - Relative-path alias mappings
 * @returns True when at least one legacy path is present
 */
export declare function hasLegacyAlias(value: JsonValue | undefined, aliases: readonly LegacyAliasMapping[] | undefined): boolean;
/**
 * Remove only current defaults whose legacy counterpart is present.
 * @param value - Effective entry value used to detect aliases
 * @param defaultValue - Registry default to prune
 * @param aliases - Relative-path alias mappings
 * @returns Default value safe to fill beside the effective aliases
 */
export declare function aliasCompatibleDefault(value: JsonValue, defaultValue: JsonValue, aliases: readonly LegacyAliasMapping[] | undefined): JsonValue;
//# sourceMappingURL=legacy-aliases.d.ts.map