/** * Success counting modifier. * * Transforms a dice pool into a signed success count: each die matching the * success `threshold` contributes +1, each die matching the optional * `failThreshold` contributes -1. When a single die matches both thresholds, * success wins (checked first). * * Dropped dice (from a preceding keep/drop or intermediate reroll) are * excluded from counting and are never tagged. * * Mutates the input pool in place to add `'success'` / `'failure'` modifier * flags — mirrors the mutation pattern of explode and reroll modifiers. The * tags are rebuilt, not appended: a group counted after its members * (`{4d6>=5}<=2f5`) runs this pass twice over the same dice, and the outermost * pass is the one whose arithmetic `RollResult.successes` / `failures` and the * rendered markers report. * * @module evaluator/modifiers/success-count */ import type { DieResult, ResolvedComparePoint } from '../../types.js'; export type SuccessCountResult = { total: number; successes: number; failures: number; }; export declare function countSuccesses(dice: DieResult[], threshold: ResolvedComparePoint, failThreshold: ResolvedComparePoint | undefined, hasVersusDc: boolean, poolAlreadyCounted: boolean): SuccessCountResult; //# sourceMappingURL=success-count.d.ts.map