import type { PMF } from "../pmf/pmf.js"; import type { RollType } from "../common/types.js"; import type { RollBuilder } from "./roll.js"; export type { RollType }; export type RollFactory = { (count: number, sides?: number, modifier?: number): RollBuilder; (count: number, die: RollBuilder, modifier?: number): RollBuilder; d(sides: number | string): RollBuilder; hd20(): RollBuilder; d4(): RollBuilder; d6(): RollBuilder; d8(): RollBuilder; d10(): RollBuilder; d12(): RollBuilder; d20(): RollBuilder; d100(): RollBuilder; flat(n: number): RollBuilder; }; export type KeepMode = "highest" | "lowest"; export type RollConfig = { count: number; sides: number; modifier: number; reroll: number; explode: number; minimum: number; bestOf: number; keep: { total: number; count: number; mode: KeepMode; } | undefined; rollType: RollType; isSubtraction?: boolean; }; export type Resolution = { pmf: PMF; check: PMF; weights: { [key: string]: number; }; }; export type AttackResolution = Resolution & { hit: PMF; crit: PMF; miss: PMF; weights: { hit: number; crit: number; miss: number; }; }; export type SaveResolution = Resolution & { saveFail: PMF; saveSuccess: PMF; weights: { success: number; fail: number; }; }; export interface CheckBuilder { resolve(eps?: number): Resolution; toExpression(): string; readonly pmf: PMF; } //# sourceMappingURL=types.d.ts.map