import * as semver from 'semver'; export interface BranchRuleConfig { versionFormat?: 'semantic' | 'dev' | 'feature' | 'hotfix' | string; tagFormat?: string; syncFiles?: string[]; environment?: string; bumpStrategy?: 'semantic' | 'dev-build' | 'feature-branch' | 'hotfix' | string; } export interface BranchAwarenessConfig { enabled?: boolean; defaultBranch?: string; branches?: Record; } export interface BranchAwareBumpOptions { targetBranch?: string; forceBranchAware?: boolean; format?: string; build?: number; } export interface BranchAwareBumpResult { version: string; branch: string; matchPattern: string; versionFormat: string; tagFormat: string; syncFiles: string[]; } export interface VersionConfig { rootPackageJson: string; packages: string[]; changelogFile?: string; conventionalCommits?: boolean; extensionConfig?: Record; branchAwareness?: BranchAwarenessConfig; releaseGuard?: { enabled?: boolean; tagPrefix?: string; allowBuildMetadata?: boolean; checkReleaseFloor?: boolean; metadataFiles?: string[]; }; } export declare class VersionManager { private config; private git; constructor(config: VersionConfig); getConfig(): VersionConfig; getCurrentVersion(): Promise; bumpVersion(releaseType: semver.ReleaseType, preRelease?: string): Promise; bumpVersionBranchAware(releaseType: semver.ReleaseType, options?: BranchAwareBumpOptions): Promise; updateVersion(newVersion: string): Promise; private updatePackageJson; createGitTag(version: string, message?: string): Promise; createGitTagWithFormat(version: string, tagFormat?: string, message?: string): Promise; commitChanges(version: string): Promise; private getCurrentBranch; private resolveBranchConfig; private getBranchAwarenessConfig; private getDefaultBranchRules; private normalizeBranchRule; private getDefaultBumpStrategy; private buildBranchAwareVersion; private shouldBumpSemantic; private coerceBaseVersion; private incrementSemanticVersion; private resolveBuildNumber; private getDefaultSyncFiles; private applyVersionFormat; private extractBuildNumber; private readVersionFromFile; private updateVersionFile; private matchesPattern; private escapeRegex; private renderTag; } //# sourceMappingURL=versioning.d.ts.map