export type BitIdProps = { scope?: string | null | undefined; box?: string | undefined; name: string; version?: string | undefined; }; type BitIdSerialized = { scope?: string; name: string; version?: string; }; export type BitIdStr = string; export declare const VERSION_DELIMITER = "@"; export default class BitId { readonly scope: string | null | undefined; readonly box: string | undefined; readonly name: string; readonly version: string | undefined; constructor({ scope, box, name, version }: BitIdProps); clone(): BitId; changeScope(newScope?: string | null | undefined): BitId; changeVersion(newVersion: string | undefined): BitId; isLocal(scopeName?: string): boolean; getVersion(): import("@teambit/component-version").Version; hasVersion(): boolean; hasScope(): boolean; hasSameName(id: BitId): boolean; hasSameScope(id: BitId): boolean; hasSameVersion(id: BitId): boolean; toString(ignoreScope?: boolean, ignoreVersion?: boolean): BitIdStr; toStringWithoutScope(): BitIdStr; toStringWithoutVersion(): BitIdStr; toStringWithoutScopeAndVersion(): BitIdStr; isEqual(bitId: BitId): boolean; isEqualWithoutVersion(bitId: BitId): boolean; isEqualWithoutScopeAndVersion(bitId: BitId): boolean; serialize(): BitIdSerialized; toFullPath(): string; isVersionSnap(): boolean; /** * examples: * 1.0.0 => null * 1.0.0-dev.1 => ['dev', 1] * 1.0.0-dev.1.alpha.2 => ['dev', 1, 'alpha', 2] * 1.0.0-0 => [0] */ getVersionPreReleaseData(): null | readonly string[]; /** * Get a string id and return a string without the version part * @param {string} id * @return {string} id - id without version */ static getStringWithoutVersion(id: string): string; static getVersionOnlyFromString(id: string): string; static parse(id: BitIdStr, hasScope?: boolean, version?: string): BitId; static getScopeAndName(id: string): { scope: string; name: string; }; static parseObsolete(id: BitIdStr, version?: string): BitId; /** * before version 13.0.3 bitmap and component-dependencies ids were written as strings (e.g. scope/box/name@version) * since that version the ids are written as objects ({ scope: scopeName, name: compName, version: 0.0.1 }) */ static parseBackwardCompatible(id: string | BitIdProps): BitId; static getValidScopeName(scope: string): string; static getValidIdChunk(chunk: string): string; static getValidBitId(box: string | undefined, name: string): BitId; static isValidVersion(version: string): boolean; static isValidSemver(version: string): boolean; } export {};