/** * General utility functions shared across SpecificationCollection modules */ import { Item } from 'postman-collection'; /** * Get the request identifier (method + path) for an item. * @param {Item} item - The item to get the identifier for. * @returns {string} The request identifier (method + path) */ export declare function getRequestIdentifier(item: Item): string; /** * Recursively clones a fragment of the specification while removing any * vendor-extension keys (those starting with "x-") and the OpenAPI `default` key. * This is used solely for equality comparisons so that differences due to `default` and vendor extensions * do not cause `$ref` expansion or unnecessary diffs. * * @param {unknown} node - The fragment (object/array/primitive) from which keys should be stripped. * @returns {unknown} A deep clone of the fragment with all `x-*` and `default` keys removed. * Primitive values are returned unchanged. */ export declare function stripVendorExtensions(node: unknown): unknown; /** * Checks if an object contains a $ref property. * @param {unknown} obj The object to check. * @returns {boolean} True if the object contains a $ref property at the top level, otherwise false. */ export declare function isRef(obj: unknown): obj is { $ref: string; }; /** * Determines whether two fragments are deeply equal after removing all * vendor-extensions (`x-*` keys). * * @param {unknown} firstFragment - First fragment to compare. * @param {unknown} secondFragment - Second fragment to compare. * @returns {boolean} `true` if the fragments are equal once vendor extensions are ignored, otherwise `false`. */ export declare function isEqualAfterIgnoringVendorExtensions(firstFragment: unknown, secondFragment: unknown): boolean; /** * Deep merge function that preserves vendor extensions at all levels * and ignores the `default` key from `latest` as per the rules: * - If `current` has a `default`, it is preserved. * - If `current` does not have `default`, it is removed from the merged result even if present in `latest`. * @param {unknown} latest - The latest object (source of truth for standard properties) * @param {unknown} current - The current object (source for vendor extensions) * @returns {unknown} Merged object with vendor extensions preserved at all levels */ export declare function deepMergeWithVendorExtensions(latest: unknown, current: unknown): unknown; //# sourceMappingURL=utils.d.ts.map