import type { DistTag, PrereleaseId } from "../types";
import { type ReleaseType } from 'semver';
export declare function isPrerelease(version: string): boolean;
export declare function isAlphaVersion(version: string): boolean;
export declare function isBetaVersion(version: string): boolean;
export declare function isRcVersion(version: string): boolean;
export declare function isCanaryVersion(version: string): boolean;
/**
 * 版本号是否合法
 * @param version 版本
 * @param releaseType 是否可以是 releaseType
 */
export declare function isVersionValid(version: string, releaseType?: boolean): boolean;
/**
 * 解析版本
 * @param version 版本
 */
export declare function parseVersion(version: string): {
    version: string;
    isPrerelease: boolean;
    prereleaseId: PrereleaseId | null;
};
/**
 * 版本是否存在
 * @param pkgName 包名
 * @param version 版本
 * @param registry 源仓库
 */
export declare function isVersionExist(pkgName: string, version: string, registry?: string): Promise<boolean>;
/**
 * 获取稳定版本
 * @param version 版本
 */
export declare function getStableVersion(version: string): string;
/**
 * 获取基准版本
 * @param localVersion 本地版本
 * @param remoteVersion 远程版本
 * @param distTag npm tag
 */
export declare function getReferenceVersion(localVersion: string, remoteVersion: string, distTag: DistTag): string;
/**
 * 获取最大的版本
 * @param versions 版本
 */
export declare function getMaxVersion(...versions: string[]): string;
/**
 * 获取发布版本
 * @param referenceVersion 基准版本
 * @param releaseType 发布版本
 * @param prereleaseId 预发布 id
 */
export declare function getReleaseVersion(referenceVersion: string, releaseType: ReleaseType, prereleaseId?: PrereleaseId): string;
/**
 *
 * @param referenceVersion 基准版本
 * @param cwd 当前工作目录
 */
export declare function getCanaryVersion(referenceVersion: string, cwd?: string): Promise<string>;
//# sourceMappingURL=version.d.ts.map