export declare function isValidPeerRange(version: string): boolean; /** * Whether a `peerDependencies` value is accepted at install time. * * A value is accepted when it is either a valid peer range (semver, * `workspace:`, or `catalog:`) or any specifier that carries a * protocol/registry scheme — a named-registry spec (`work:5.x.x`), an `npm:` * alias, or a `file:`/`git`/URL spec. Such specifiers are desugared during * resolution: {@link getPeerVersionRange} yields the semver range they are * matched against, while the original specifier still drives auto-installation. * * Bare `name@version` typos, which have no scheme and are not valid semver, are * still rejected — they are almost always a mistaken attempt to pin a peer to a * specific version. */ export declare function isAcceptablePeerSpec(version: string): boolean; /** * The semver range a resolved version is checked against for a peer dependency. * * `workspace:` prefixes are stripped; a named-registry or `npm:` specifier * contributes its version body (`work:5.x.x` → `5.x.x`, `npm:bar@^5` → `^5`); * any other non-semver specifier (git, file, URL) becomes `*`, so the peer is * satisfied by any version while its original specifier still selects the * package to install. Valid semver ranges and `catalog:` specs are returned * unchanged. A `||` union of scheme specifiers — produced when several * consumers' ranges are merged for highest-match auto-installation — is reduced * to the union of its version bodies (`work:^1 || work:^2` → `^1 || ^2`) so the * result stays a comparable range. */ export declare function getPeerVersionRange(version: string): string;