import { GameRollResult, RollRecord } from "@randsum/roller";
type DaggerheartAdvantageDisadvantage = "Advantage" | "Disadvantage";
interface DaggerheartRollArgument {
	modifier?: number;
	rollingWith?: DaggerheartAdvantageDisadvantage;
	amplifyHope?: boolean;
	amplifyFear?: boolean;
}
type DaggerheartRollResultType = "hope" | "fear" | "critical hope";
interface DaggerheartRollRecord {
	roll: number;
	amplified?: boolean;
}
interface DaggerheartRollResult {
	total: number;
	type: DaggerheartRollResultType;
	details: {
		hope: DaggerheartRollRecord;
		fear: DaggerheartRollRecord;
		modifier: number;
		advantage: DaggerheartRollRecord | undefined;
	};
}
declare const roll: (arg: DaggerheartRollArgument) => GameRollResult<DaggerheartRollResult["type"], DaggerheartRollResult["details"], RollRecord>;
export { roll, DaggerheartRollResultType, DaggerheartRollResult, DaggerheartRollArgument, DaggerheartAdvantageDisadvantage };
