import { CoreModels } from 'tnp-core'; import { BaseReleaseProcess } from 'tnp-helpers'; import { ReleaseArtifactTaon, EnvOptions, ReleaseType } from '../../../options'; import type { Project } from '../project'; /** * manage standalone or container release process */ export declare class ReleaseProcess extends BaseReleaseProcess { constructor(project: Project); displayReleaseProcessMenu(envOptions: EnvOptions): Promise; releaseByType(releaseType: ReleaseType, envOptions: EnvOptions): Promise; getEnvNamesByArtifact(artifact: ReleaseArtifactTaon): { envName: CoreModels.EnvironmentNameTaon; envNumber?: number | undefined; }[]; displayProjectsSelectionMenu(envOptions: EnvOptions): Promise; displaySelectArtifactsMenu(envOptions: EnvOptions, selectedProjects: Project[], allowedArtifacts?: ReleaseArtifactTaon[] | undefined): Promise; startRelease(envOptions?: EnvOptions): Promise; /** * return true if everything went ok */ releaseArtifacts(releaseType: ReleaseType, releaseArtifactsTaon: ReleaseArtifactTaon[], selectedProjects: Project[], envOptions: EnvOptions): Promise; /** * does not matter if container is releasing standalone * or organization packages -> release commit is pushed */ pushReleaseCommits(): Promise; private getReleaseHeader; private getColoredTextItem; }