/** @fileoverview Main entry point for socket-registry package. */
// Type definitions
declare enum Categories {
    CLEANUP = "cleanup",
    LEVELUP = "levelup",
    SPEEDUP = "speedup",
    TUNEUP = "tuneup"
}
type CategoryString = `${Categories}`;
declare enum Interop {
    BROWSERIFY = "browserify",
    CJS = "cjs",
    ESM = "esm"
}
type InteropString = `${Interop}`;
// Based on SocketPURL_Type from socket-sdk-js
declare enum PURL_Type {
    APK = "apk",
    BITBUCKET = "bitbucket",
    COCOAPODS = "cocoapods",
    CARGO = "cargo",
    CHROME = "chrome",
    COMPOSER = "composer",
    CONAN = "conan",
    CONDA = "conda",
    CRAN = "cran",
    DEB = "deb",
    DOCKER = "docker",
    GEM = "gem",
    GENERIC = "generic",
    GITHUB = "github",
    GOLANG = "golang",
    HACKAGE = "hackage",
    HEX = "hex",
    HUGGINGFACE = "huggingface",
    MAVEN = "maven",
    MLFLOW = "mlflow",
    NPM = "npm",
    NUGET = "nuget",
    QPKG = "qpkg",
    OCI = "oci",
    PUB = "pub",
    PYPI = "pypi",
    RPM = "rpm",
    SWID = "swid",
    SWIFT = "swift",
    UNKNOWN = "unknown"
}
type EcosystemString = `${PURL_Type}`;
type ManifestEntryData = {
    categories: CategoryString[];
    interop: InteropString[];
    license: string;
    name: string;
    package: string;
    version: string;
    deprecated?: boolean | undefined;
    engines: {
        node: string;
        npm?: string | undefined;
    };
    skipTests?: boolean | undefined;
};
type ManifestEntry = [string, ManifestEntryData];
type Manifest = {
    [Ecosystem in PURL_Type]: ManifestEntry[];
};
/*@__NO_SIDE_EFFECTS__*/
declare function getManifestData(): Manifest;
declare function getManifestData(eco: EcosystemString): ManifestEntry[];
declare function getManifestData(eco: EcosystemString, sockRegPkgName: string): ManifestEntryData | undefined;
// Export types and functions
export { Categories, Interop, PURL_Type, getManifestData };
// Export ALL_CAPS constants
// Use wildcard re-export to avoid triggering lazy getters at module load time.
// This compiles to __exportStar which creates getter functions that are only
// invoked when someone actually accesses the properties. Previously, we had a
// default export using spread operator (...constants) which triggered all lazy
// getters immediately. Since no code uses the default export, we removed it to
// preserve lazy evaluation semantics.
// eslint-disable-next-line import-x/export
export * from './lib/constants';
export type { CategoryString, EcosystemString, InteropString, Manifest, ManifestEntry, ManifestEntryData, };
