import { type REnvironmentInformation } from './environment';
import type { IdentifierDefinition } from './identifier';
/**
 * Merges two arrays of identifier definitions, ensuring uniqueness based on `nodeId` and `definedAt`.
 */
export declare function uniqueMergeValuesInDefinitions(old: IdentifierDefinition[], value: readonly IdentifierDefinition[]): IdentifierDefinition[];
/**
 * Adds all writes of `next` to `base` (i.e., the operations of `next` *might* happen).
 */
export declare function appendEnvironment(base: REnvironmentInformation, next: REnvironmentInformation | undefined): REnvironmentInformation;
export declare function appendEnvironment(base: REnvironmentInformation | undefined, next: REnvironmentInformation): REnvironmentInformation;
export declare function appendEnvironment(base: undefined, next: undefined): undefined;
export declare function appendEnvironment(base: REnvironmentInformation | undefined, next: REnvironmentInformation | undefined): REnvironmentInformation | undefined;
