import { PMF } from "../pmf/pmf.js"; import { RollBuilder } from "./roll.js"; import { SaveBuilder } from "./save.js"; interface SaveConfig { dc: number; } /** Clears the DC-check PMF cache (test/bench seam). */ export declare function clearDCCache(): void; export declare class DCBuilder extends RollBuilder { private readonly saveConfig; constructor(baseRoll: RollBuilder, saveConfig?: SaveConfig); dc(saveDC: number): DCBuilder; get saveDC(): number; add(anotherRoll: RollBuilder): DCBuilder; addRoll(count?: number): DCBuilder; onSaveFailure(val: number): SaveBuilder; onSaveFailure(val: string): SaveBuilder; onSaveFailure(val: RollBuilder): SaveBuilder; onSaveFailure(count: number, die: RollBuilder): SaveBuilder; onSaveFailure(count: number, sides: number): SaveBuilder; onSaveFailure(count: number, die: RollBuilder, modifier: number): SaveBuilder; onSaveFailure(count: number, sides: number, modifier: number): SaveBuilder; withElvenAccuracy(): never; toExpression(): string; /** * The DC check's PMF is fully determined by the save DC plus everything `toPMF` below reads off the roll * configs (`rollType`, `baseReroll`, `modifier`, bonus dice) — all of which `super.cacheKey()` already * serializes. So extend the base key with the DC, mirroring {@link AlwaysHitBuilder.cacheKey}. */ cacheKey(): string | null; toPMF(eps?: number): PMF; } export {}; //# sourceMappingURL=dc.d.ts.map