type AdvantageDisadvantageDH = "Advantage" | "Disadvantage";
interface RollArgumentDH {
	modifier?: number;
	rollingWith?: AdvantageDisadvantageDH;
	amplifyHope?: boolean;
	amplifyFear?: boolean;
}
type RollResultDHType = "hope" | "fear" | "critical hope";
interface RollResultDH {
	type: RollResultDHType;
	total: number;
	rolls: {
		hope: number
		fear: number
		modifier: number
		advantage: number | undefined
	};
}
interface MeetOrBeatResultDH extends RollResultDH {
	success: boolean;
	target: number;
	description: string;
}
declare function meetOrBeatDH(difficultyClass: number, rollArg: RollArgumentDH): MeetOrBeatResultDH;
declare function rollDH({ modifier, rollingWith, amplifyHope, amplifyFear }: RollArgumentDH): RollResultDH;
export { rollDH, meetOrBeatDH, RollResultDHType, RollResultDH, RollArgumentDH, MeetOrBeatResultDH, AdvantageDisadvantageDH };
