export { DE } from './dice-expression-domain'; export { type DiceReducer, type SimpleReducer, type CountReducer, type LowHigh, type FilterDirection, always, between, combined, composite, compound, customDie, die, diceListWithFilter, diceListWithMap, diceReduce, diceExpressions, drop, emphasis, explode, filterableDiceArray, filterableDiceExpressions, infiniteReroll, keep, dropOrKeepShouldBePositive, emptyFaces, emptySet, insufficientSides, tooManyDrops, tooManyKeeps, exact, onMax, upTo, valueOrLess, valueOrMore, nDice, nDiceLit, nDiceVar, diceListWithMapHomogeneous, homogeneousDiceExpressions, homogeneousCustomDice, filterableHomogeneous, filterableHomogeneousCustom, filterableMapeable, structuredDiceRoll, } from './dice-expression'; export type { Always, Between, Combined, Composite, Compound, CustomDie, DiceExpression, DiceExpressions, DiceFunctor, DiceReduce, Die, DiceFilter, DiceFilterable, DiceListWithFilter, DiceListWithMap, DiceReduceable, Drop, DropOrKeepShouldBePositive, EmptyFaces, EmptySet, Exact, OnMax, Emphasis, Explode, FilterableDiceArray, FilterableDiceExpressions, InfiniteReroll, InsufficientSides, Keep, Range, Reroll, Roll, Sides, Times, TooManyDrops, TooManyKeeps, ValidationMessage, UpTo, ValueOrLess, ValueOrMore, NDice, NDiceParam, DiceListWithMapHomogeneous, HomogeneousDiceExpressions, HomogeneousCustomDice, FilterableHomogeneous, FilterableHomogeneousCustom, FilterableMapeable, StructuredDiceRoll, } from './dice-expression'; export type { ParseError, ParseWithErrorsResult } from './parse-error'; export { suggestKeyword } from './parse-error'; export { RR } from './roll-result-domain'; export { type ArithmeticBinaryOp, type BinaryExprResult, type CustomDieResult, type DiceExpressionsResult, type DiceFilterableResult, type DiceFilterableMapeableResult, type DiceMapeableResult, type DiceReduceResult, type DieResult, type DiceReduceableResult, type DiceResultMapped, type DieResultFilter, type DiscardResult, type Compounded, type Exploded, type KeepResult, type NumberLiteralResult, type Normal, type OneResult, type Rerolled, type RollResult, type UnaryExprResult, type StructuredFaceRoll, type StructuredFaceDraw, type StructuredDiceRollResult, binaryExprResult, compounded, customDieResult, diceExpressionsResult, diceFilterableResult, diceFilterableMapeableResult, diceMapeableResult, diceReduceResult, dieResult, discardResult, exploded, keepResult, numberLiteralResult, normal, oneResult, rerolled, unaryExprResult, structuredFaceRoll, structuredDiceRollResult, flatStructuredFaces, } from './roll-result'; export { Roller, type RollerOptions, MAX_DICE_COUNT } from './roller'; export { DiceStats, reduceValues } from './dice-stats'; export type { Identifier, Program, Statement, Assignment, ExpressionStatement, Expression, NumberLiteral, BooleanLiteral, StringLiteral, VariableRef, BinaryExpr, BinaryOper, UnaryExpr, RoundExpr, RoundMode, IfExpr, RecordExpr, RecordField, ArrayExpr, ArrayElement, SpreadElement, RepeatExpr, FieldAccess, IndexAccess, SliceAccess, DefaultExpr, MatchExpr, MatchArm, MatchPattern, Value, RuntimeError, ParameterDeclaration, ParameterSpec, ParameterDefault, DiceDeclaration, Faces, ComprehensionExpr, ComprehensionExprArgs, FoldExpr, FoldExprArgs, Aggregator, Comment, CommentAttachment, } from './program'; export { identifier, identifierEquals, program, assignment, expressionStatement, numberLiteral, booleanLiteral, stringLiteral, variableRef, binaryExpr, unaryExpr, roundExpr, ifExpr, recordExpr, arrayExpr, spreadElement, repeatExpr, fieldAccess, indexAccess, defaultExpr, matchExpr, matchArm, wildcardPattern, expressionPattern, runtimeError, parameterDeclaration, diceDeclaration, comprehensionExpr, foldExpr, } from './program'; export { Evaluator, UndefinedOutcomeError, MissingValueError, roundHalfAwayFromZero, roundHalfEven, applyRoundMode, type RunOptions, type RunWithCaptureResult, type EvaluatorOptions, type DiceTerm, type StructuredDiceTerm, type DiceTermResult, type ScopeEvent, type AssignmentEvent, type ParameterEvent, type BranchSelection, } from './evaluator'; export { ProgramParameters, type Parameter } from './program-parameters'; export { classifyParameter, type ParameterKind, } from './parameter-classification'; export { ProgramStats, suggestBucketSize, binDistribution, type FieldStats, type JointDistribution, type JointDimension, type JointOutcome, type DiscriminatedVariant, type Percentiles, type NumberAggregateStats, type Tier, type ResultTier, type AnalysisStrategy, type AnalyzeResult, type AnalyzeOptions, type BindingStats, type AnalyzeAsyncOptions, type AsyncProgress, type FieldConvergence, type AnalyzeDiagnostics, type CompareResult, type NumericComparison, type TierExplanation, type TierExplanationContributor, BudgetExceededError, type BudgetKind, } from './program-stats'; export { ProgramParser, type ParseProgramResult } from './program-parser'; export { format, type FormatOptions } from './program-format'; export { canonicalize, equivalent, equivalentWithComments, canonicalHash, type CanonicalizeOptions, } from './program-canonical'; export { fieldStatsToJSON, fieldStatsFromJSON, totalVariationDistance, klDivergence, probabilityGreaterThan, probabilityLessThan, probabilityEqual, boxPlotData, type BoxPlotData, sampleFromDistribution, fieldFromRecord, elementFromArray, } from './program-stats-utils'; export { Distribution } from './distribution'; export { migrateSource } from './migrate'; export { type SourceSpan } from './source-span'; export { stripLocs } from './program-canonical'; export { analyzeProgram, type SemanticDiagnostic, type DiagnosticSeverity, type DiagnosticRelatedInformation, type AnalyzeProgramOptions, } from './semantic-diagnostics'; export { TypeEnv, type Type, typeName, isCompatible, unionOf, } from './semantic-types'; export { analyzeTypes, type TypeAnalysis } from './analyze-types'; export { analyzeScope, type ScopeAnalysis, type DeclarationInfo, } from './analyze-scope'; export { LANGUAGE_METADATA_VERSION, LANGUAGE_ENTRIES, KEYWORDS, AGGREGATORS, DICE_REDUCERS, DICE_FUNCTORS, DICE_FILTERS, OPERATORS, PARAM_FIELDS, NUMERIC_OPERATORS, ALL_TOKENS, lookupEntry, type LanguageMetadataEntry, type KeywordEntry, type AggregatorEntry, type DiceReducerEntry, type DiceFunctorEntry, type DiceFilterEntry, type OperatorEntry, type ParamFieldEntry, type NumericOperatorEntry, type Signature, type SignatureSlot, type SignatureSlotKind, } from './language-metadata'; export { recordRun, replayRun, logToJSON, logFromJSON, ReplayDesyncError, type ArithmeticEvent, type StructuredEvent, type IterationEnterEvent, type IterationExitEvent, type FilterSkipEvent, type SortReorderEvent, type BranchEnterEvent, type BranchExitEvent, type ScopeBoundaryEvent, type ExecutionEvent, type ExecutionLog, type RecordRunOptions, } from './evaluator-log'; export { tokenize, type Token, type TokenKind } from './tokenize';