export type CheckAdvantage = "advantage" | "disadvantage" | "normal"; export interface CheckInput { modifier: number; dc: number; advantage?: CheckAdvantage; diceSides?: number; } export interface CheckResult { rolls: readonly number[]; roll: number; total: number; success: boolean; critical: "success" | "failure" | null; } /** * Resolve a tabletop-style pass/fail roll against a target number with modifiers and crit/fumble bands. * * @capability dice-check resolve a pass/fail roll against a target number with modifiers and crits */ export declare function rollCheck(input: CheckInput, rng?: () => number): CheckResult;