import { z } from "zod";
/**
 * Stability levels for module exports.
 *
 * - alpha: new, experimental, may change at any time
 * - beta: mostly stable, API may still change
 * - stable: production-ready, breaking changes only with major version bump
 */
export declare const StabilityLevelSchema: z.ZodEnum<{
    alpha: "alpha";
    beta: "beta";
    stable: "stable";
}>;
export type StabilityLevel = z.infer<typeof StabilityLevelSchema>;
/**
 * Stability level assigned to each module.
 *
 * Rules:
 * - All new modules start at "alpha".
 * - Graduation to "beta" requires: solid test coverage, API surface mostly settled.
 * - Graduation to "stable" requires: production-ready, breaking changes need major version.
 * - The default TauCeti config is "stable", meaning only stable modules are
 *   accessible without explicitly opting in to alpha/beta.
 *
 * All modules currently start at "alpha". As they mature they are graduated
 * to "beta" and eventually "stable" by updating this registry.
 */
export declare const MODULE_STABILITY: Record<string, StabilityLevel>;
/**
 * Get the stability level for a module.
 * Returns "alpha" for unregistered modules (safe default).
 */
export declare function getModuleStability(moduleName: string): StabilityLevel;
/**
 * Check that the required stability level is allowed by the configured level.
 * Throws with a descriptive error if the gate is not met.
 *
 * @param configuredLevel - The user's configured stability threshold
 * @param moduleName - Module name for the error message
 * @param requiredLevel - The module's stability level
 */
export declare function checkStability(configuredLevel: StabilityLevel, moduleName: string, requiredLevel: StabilityLevel): void;
/** Set the global stability level override (testing only). */
export declare function setStabilityLevel(level: StabilityLevel): void;
/** Get the current global stability level override, if set. */
export declare function getStabilityLevel(): StabilityLevel | undefined;
/** Reset the global stability level override. */
export declare function resetStabilityLevel(): void;
/** Resolve the effective stability level: override if set, otherwise the provided config. */
export declare function resolveStabilityLevel(configLevel: StabilityLevel): StabilityLevel;
//# sourceMappingURL=stability.d.ts.map