/** * Thrown by the exact-distribution path to *deliberately* decline a program it * cannot represent exactly (e.g. a construct outside the symbolic engine's * scope, a die too large to enumerate, or a chain too heavy-tailed to compute * to ε). Distinct from an unexpected error: a `UnsupportedExactAnalysis` is a * sanctioned signal to fall back to Monte Carlo and is never reported as a * fallback "reason", even under `AnalyzeOptions.strictExact`. Most out-of-scope * cases instead return `null` without throwing; this exists for the paths where * throwing is the natural control flow (deep inside the per-die distribution * builders, which return a non-nullable distribution). * * Lives in its own dependency-free module so the low-level distribution engine * (`dice-stats`, `dice-mechanics`) can throw it without importing the symbolic * evaluator that consumes it, avoiding an import cycle. */ export declare class UnsupportedExactAnalysis extends Error { constructor(reason: string); }