import { type MonsterTypes } from '../monsters';
import type { Monster } from '../monsters/types';
import { BossLevelModifiers, type QuestTypes } from '../quests';
import type { MonsterLevel, MonsterStatMultipliers } from './types';
/** Ensures a number is within valid range for a {@link MonsterLevel} */
export declare function isValidMonsterLevel(maybeLevel: number): asserts maybeLevel is MonsterLevel;
/**
 * @returns List of monster levels based on an original level and a levelModifier
 */
export declare function getMonsterLevelRange(monsterLevel: MonsterLevel, levelModifier: BossLevelModifiers): MonsterLevel[];
/**
 *
 * @param monsterLevel
 * @returns
 */
export declare function getMonsterStatMultipliers(monsterName: Monster['name'], monsterLevel: MonsterLevel): MonsterStatMultipliers;
/**
 * @returns MonsterLevel for a given monster ID in a quest ID
 * @throws Error if monster is not present in quest
 */
export declare function getMonsterLevelsForQuest(monsterName: MonsterTypes.MonsterName, questId: QuestTypes.Quest['id']): MonsterLevel[];
