export declare namespace PluginIdentifiers { interface Components { publisher?: string; name: string; version: string; } interface IdAndVersion { id: UnversionedId; version: string; } type VersionedId = `${string}.${string}@${string}`; type UnversionedId = `${string}.${string}`; /** Unpublished plugins (not from Open VSX or VSCode plugin store) may not have a `publisher` field. */ const UNPUBLISHED = ""; /** * @returns a string in the format `.` */ function componentsToUnversionedId({ publisher, name }: Components): UnversionedId; /** * @returns a string in the format `.@`. */ function componentsToVersionedId({ publisher, name, version }: Components): VersionedId; function componentsToVersionWithId(components: Components): IdAndVersion; /** * @returns a string in the format `@`. */ function idAndVersionToVersionedId({ id, version }: IdAndVersion): VersionedId; /** * @returns a string in the format `.`. */ function unversionedFromVersioned(id: VersionedId): UnversionedId; /** * @returns a string in the format `.`. * * If the supplied ID does not include `@`, it will be returned in whole. */ function toUnversioned(id: VersionedId | UnversionedId): UnversionedId; /** * @returns `undefined` if it looks like the string passed in does not have the format of {@link VersionedId}. */ function identifiersFromVersionedId(probablyId: string): Components | undefined; /** * @returns `undefined` if it looks like the string passed in does not have the format of {@link VersionedId}. */ function idAndVersionFromVersionedId(probablyId: string): IdAndVersion | undefined; } //# sourceMappingURL=plugin-identifiers.d.ts.map