import { type Program, type Value } from './program'; import { type AnalyzeAsyncOptions, type AnalyzeOptions, type AnalyzeResult, type AsyncProgress, type CompareResult, type Tier, type TierExplanation } from './program-stats-types'; export { encodeArrayValue, decodeArrayValue, isEncodedArray, decodeRecordValue, isEncodedRecord, cloneSymDistWithFreshSources, encodeRecordValue, } from './sym-dist'; export { binDistribution, suggestBucketSize, } from './program-stats-distribution'; export { analyzeConvergence, buildStats, toWeightedSamples, type WeightedValue, } from './program-stats-monte-carlo'; export { symDistToFieldStats } from './program-stats-sym-field'; export { type AnalysisStrategy, type AnalyzeAsyncOptions, type AnalyzeDiagnostics, type AnalyzeOptions, type AnalyzeResult, type AsyncProgress, type BindingStats, type CompareResult, type ConvergenceConfig, type DiscriminatedVariant, type FieldConvergence, type FieldStats, type JointDimension, type JointDistribution, type JointOutcome, type NumberAggregateStats, type NumericComparison, type Percentiles, type ResultTier, type Tier, type TierExplanation, type TierExplanationContributor, } from './program-stats-types'; export { BudgetExceededError, type BudgetKind } from './program-stats-support'; export declare const ProgramStats: { classify(program: Program, options?: { parameters?: Record; }): Tier; analyze(program: Program, options?: AnalyzeOptions): AnalyzeResult; compare(a: Program, b: Program, options?: AnalyzeOptions): CompareResult; analyzeAsync(program: Program, options?: AnalyzeAsyncOptions): AsyncGenerator; explainTier(program: Program, parameters?: Record): TierExplanation; };