import { PMF } from "./pmf.js"; /** A labeled mixture builder that preserves provenance in Bin.count. */ export declare class Mixture { private readonly totals; private readonly labelMass; private readonly eps; constructor(eps?: number); /** Remove all accumulated state. */ clear(): this; /** Number of distinct outcome values currently accumulated. */ size(): number; /** Whether a label was ever added. */ hasLabel(label: L): boolean; /** * Add a labeled component with a mixture weight. * Weight can be any positive finite number. Very small contributions are pruned by eps. */ add(label: L, pmf: PMF, weight?: number): this; buildPMF(eps?: number): PMF; /** * Produce normalized *per-label* PMFs (labels independent). * These are unlabeled PMFs built from the raw mass of that label alone. */ byOutcome(): Record; /** * Mixture weights per label, normalized to sum to 1 over labels that appeared. * Uses raw mass before per-outcome normalization. */ weights(): Record; toJSON(): { totals: Array<[number, number]>; labels: Array<[number, Record]>; eps: number; }; static mix(items: Array<[label: L, pmf: PMF, weight: number]>, eps?: number): PMF; } //# sourceMappingURL=mixture.d.ts.map