import { GitProject } from "@atomist/automation-client";
import { ExecuteGoal, ExecuteGoalResult, GoalInvocation, ProgressLog, PushTest, SdmGoalEvent } from "@atomist/sdm";
import { ProjectIdentifier } from "@atomist/sdm-core";
export interface ProjectRegistryInfo {
    registry: string;
    name: string;
    version: string;
}
export declare function rwlcVersion(gi: GoalInvocation): Promise<string>;
export declare function releaseOrPreRelease(version: string, gi: GoalInvocation): string;
/**
 * Make a release version a branch-aware pre-release version.
 */
export declare function addBranchPreRelease(baseVersion: string, goalEvent: SdmGoalEvent): string;
export declare function isNextVersion(version: string): boolean;
/**
 * Create release semantic version tag and GitHub release for that tag.
 */
export declare function executeReleaseTag(): ExecuteGoal;
export declare type IncrementPatchCommand = (p: GitProject, log: ProgressLog) => Promise<ExecuteGoalResult>;
/**
 * Increment patch level in project version.
 */
export declare function executeReleaseVersion(projectIdentifier: ProjectIdentifier, incrementPatchCmd: IncrementPatchCommand): ExecuteGoal;
export declare const IsReleaseCommit: PushTest;
