import { Arguments, Command, CommandConfigOptions, Package, PreInitializedProjectData, ProjectGraphProjectNodeWithPackage } from "@lerna/core"; import { createReleaseClient, ReleaseClientType } from "./lib/create-release"; import * as childProcess from "@lerna/child-process"; export declare function factory(argv: Arguments, preInitializedProjectData?: PreInitializedProjectData): VersionCommand; interface VersionCommandConfigOptions extends CommandConfigOptions { allowBranch?: string | string[]; conventionalCommits?: boolean; amend?: boolean; ciBehindBehavior?: "error" | "skip"; json?: boolean; commitHooks?: boolean; gitRemote?: string; gitTagVersion?: boolean; syncDistVersion?: boolean; granularPathspec?: boolean; push?: boolean; signGitCommit?: boolean; signoffGitCommit?: boolean; signGitTag?: boolean; forceGitTag?: boolean; tagVersionPrefix?: string; tagVersionSeparator?: string; createRelease?: ReleaseClientType; changelog?: boolean; exact?: boolean; conventionalPrerelease?: string; conventionalGraduate?: string; forceConventionalGraduate?: boolean; private?: boolean; forcePublish?: boolean | string | string[]; bump?: string; preid?: string; buildMetadata?: string; gitTagCommand?: string; message?: string; npmClientArgs?: string[]; runScriptsOnLockfileUpdate?: boolean; changelogPreset?: string; changelogEntryAdditionalMarkdown?: string; conventionalBumpPrerelease?: boolean; yes?: boolean; rejectCycles?: boolean; premajorVersionBump?: "default" | "force-patch"; } export declare class VersionCommand extends Command { options: VersionCommandConfigOptions; commitAndTag?: boolean; pushToRemote?: boolean; allowBranch?: boolean; gitRemote?: string; tagPrefix?: string; releaseClient?: ReturnType; releaseNotes?: { name: string; notes: string; }[]; gitOpts?: { amend?: boolean; commitHooks?: boolean; granularPathspec?: boolean; signGitCommit?: boolean; signoffGitCommit?: boolean; signGitTag?: boolean; forceGitTag?: boolean; overrideMessage?: boolean; }; savePrefix?: string; currentBranch?: string; updates: ProjectGraphProjectNodeWithPackage[]; tags?: string[]; globalVersion?: string; hasRootedLeaf?: boolean; runPackageLifecycle?: (pkg: Package, script: string) => Promise; runRootLifecycle?: (script: string) => Promise | void; updatesVersions?: Map; packagesToVersion?: Package[]; projectsWithPackage: ProjectGraphProjectNodeWithPackage[]; premajorVersionBump?: "default" | "force-patch"; get otherCommandConfigs(): string[]; get requiresGit(): boolean; /** * Due to lerna publish's legacy of being backwards compatible with running versioning and publishing * in a single step, we need to be able to receive any project data which might already exist from the * publish command (in the case that it invokes the version command from within its implementation details). */ constructor(argv: Arguments, preInitializedProjectData?: PreInitializedProjectData); configureProperties(): void; initialize(): Promise; execute(): Promise<{ updates: ProjectGraphProjectNodeWithPackage[]; updatesVersions: Map | undefined; }>; /** * Gets a mapping of project names to their package's new version. * @returns {Promise>} A map of project names to their package's new versions */ getVersionsForUpdates(): Promise>; reduceVersions(getVersion: (node: ProjectGraphProjectNodeWithPackage) => string | Promise): Promise>; getPrereleasePackageNames(): string[]; recommendVersions(resolvePrereleaseId: (existingPreid: string) => string): Promise>; setGlobalVersionFloor(): void; setGlobalVersionCeiling(versions: Map): string; setUpdatesForVersions(versions: Map): void; confirmVersions(): true | Promise; updatePackageVersions(): Promise; private updateDependencies; commitAndTagUpdates(): Promise; gitCommitAndTagVersionForUpdates(): Promise; gitCommitAndTagVersion(): Promise; gitPushToRemote(): Promise; private hasChanges; } declare const commonJsExport: typeof factory & { VersionCommand: typeof VersionCommand; }; export default commonJsExport; export { commonJsExport as "module.exports" };