import type { Package } from "./packageJson.js"; export interface NewVersionOptions { /** * The tags a `prod` bump reads the commits from. Defaults to the package's * own release tags, which is what `library publish` creates. */ tagPrefix?: string | RegExp; } /** * Determines the next version string for a package based on the configured release channel. * * - **prod**: increments via conventional commits (major / minor / patch). * - **next**: increments as a prerelease with the `next` dist-tag. * - **experimental**: produces a fixed `0.0.0-experimental-{commitHash}-{date}` version. * * Nothing is written on `package.json` files here, see {@link updatePackageJsonFiles}. * * @param pkg - The package whose version should be incremented. * @returns The new version string. * @throws {Error} If the configured channel is not supported. */ export declare function getNewVersion(pkg: Package, options?: NewVersionOptions): Promise; /** * Writes the new version to the package's `package.json`. * In a monorepo, also bumps the version constraint for every workspace package that depends on it. * In a single-repo, only the package's own `package.json` is updated — `upgradeDependents` is not called. * * The root of a monorepo isn't a workspace: it's versioned without a workspace * name, and nothing can depend on it. * * @param pkg - The package whose version should be written and propagated. * @throws {IncreaseVersionFailedError} If the package manager fails to set the version. */ export declare function updatePackageJsonFiles(pkg: Package): Promise; //# sourceMappingURL=version.d.ts.map