/**
 * ScriptModuleInfo - Minecraft Script API module information
 *
 * Contains version information, API documentation, and metadata for
 * Minecraft Script API modules.
 */
/**
 * Script module stability level
 */
export declare enum ModuleStability {
    Stable = "stable",
    Beta = "beta",
    Internal = "internal"
}
/**
 * Information about a script module
 */
export interface IScriptModuleInfo {
    /** Module name (e.g., "@minecraft/server") */
    name: string;
    /** Latest stable version */
    latestStableVersion: string;
    /** Latest beta version */
    latestBetaVersion: string;
    /** Minimum supported Minecraft version */
    minMinecraftVersion: string;
    /** Short description */
    description: string;
    /** Stability level */
    stability: ModuleStability;
    /** NPM package name for type definitions */
    typesPackage: string;
    /** Documentation URL */
    docsUrl: string;
}
/**
 * Known Minecraft Script API modules
 */
export declare const SCRIPT_MODULES: IScriptModuleInfo[];
/**
 * Utility class for script module information
 */
export declare class ScriptModuleInfoProvider {
    private static moduleMap;
    /**
     * Get module map (lazy initialization)
     */
    private static getModuleMap;
    /**
     * Get info for a specific module
     */
    static getModuleInfo(moduleName: string): IScriptModuleInfo | undefined;
    /**
     * Gets the latest version for a Minecraft module.
     * @param moduleName Module name (with or without @minecraft/ prefix)
     * @param preferBeta If true, returns the latest beta version; otherwise returns stable
     * @returns The version string, or undefined if module is not known
     */
    static getLatestVersion(moduleName: string, preferBeta?: boolean): string | undefined;
    /**
     * Gets version info for a Minecraft module.
     * @param moduleName Module name (with or without @minecraft/ prefix)
     * @returns Version info object, or undefined if module is not known
     */
    static getVersionInfo(moduleName: string): {
        latestStableVersion: string;
        latestBetaVersion: string;
        minMinecraftVersion: string;
    } | undefined;
    /**
     * Get all module names
     */
    static getAllModuleNames(): string[];
    /**
     * Check if a module name is a valid Minecraft module
     */
    static isMinecraftModule(moduleName: string): boolean;
    /**
     * Parse a module version from package.json dependency
     */
    static parseModuleVersion(versionSpec: string): {
        version: string;
        isBeta: boolean;
    };
    /**
     * Check if a module version is outdated
     */
    static isVersionOutdated(moduleName: string, currentVersion: string): {
        isOutdated: boolean;
        latestVersion: string;
        isBetaAvailable: boolean;
    };
    /**
     * Compare two semver versions
     * Returns: -1 if a < b, 0 if a == b, 1 if a > b
     */
    static compareVersions(a: string, b: string): number;
    /**
     * Get recommended dependency entries for manifest.json
     */
    static getRecommendedDependency(moduleName: string, useBeta?: boolean): {
        module_name: string;
        version: string;
    } | null;
}
/**
 * Common Script API types that need special handling
 */
export declare const COMMON_SCRIPT_TYPES: {
    world: {
        module: string;
        description: string;
    };
    system: {
        module: string;
        description: string;
    };
    Entity: {
        module: string;
        description: string;
    };
    Player: {
        module: string;
        description: string;
    };
    Block: {
        module: string;
        description: string;
    };
    Dimension: {
        module: string;
        description: string;
    };
    ItemStack: {
        module: string;
        description: string;
    };
    Vector3: {
        module: string;
        description: string;
    };
    ActionFormData: {
        module: string;
        description: string;
    };
    MessageFormData: {
        module: string;
        description: string;
    };
    ModalFormData: {
        module: string;
        description: string;
    };
};
