import { type SourceInformation } from './source-maps';
export declare const NX_SPREAD_TOKEN = "...";
/**
 * Returns the union of keys across every provided object.
 */
export declare function uniqueKeysInObjects(...objs: Array<object | null | undefined>): Set<string>;
export declare const INTEGER_LIKE_KEY_PATTERN: RegExp;
export declare class IntegerLikeSpreadKeyError extends Error {
    constructor(key: string, context: string);
}
type SourceMapContext = {
    sourceMap: Record<string, SourceInformation>;
    key: string;
    sourceInformation: SourceInformation;
};
/**
 * `"..."` in `newValue` (as an array element or a key set to `true`)
 * expands the base at that position; otherwise `newValue` replaces
 * `baseValue`. With `deferSpreadsWithoutBase`, an unresolvable spread is
 * preserved so a later merge layer can expand it.
 */
export declare function getMergeValueResult<T>(baseValue: unknown, newValue: T | undefined, sourceMapContext?: SourceMapContext, deferSpreadsWithoutBase?: boolean): T | undefined;
export {};
