/// import { URL } from "url"; export declare const monsterTypes: string[]; export declare type MonsterType = typeof monsterTypes[number]; export declare const isMonsterType: (someValue: any) => someValue is string; export declare const asMonsterType: (someValue: any) => string; export declare const monsterSizes: string[]; export declare type MonsterSize = typeof monsterSizes[number]; export declare const isMonsterSize: (someValue: any) => someValue is string; export declare const asMonsterSize: (someValue: any) => string; export declare const challengeRatings: readonly ["0", "1/8", "1/4", "1/2", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "28", "30"]; export declare type ChallengeRating = typeof challengeRatings[number]; export declare const isChallengeRating: (someValue: any) => someValue is "0" | "1/8" | "1/4" | "1/2" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "28" | "30"; export declare const asChallengeRating: (someValue: any) => "0" | "1/8" | "1/4" | "1/2" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "28" | "30"; export declare const challengeRatingToNumber: (rating: ChallengeRating) => number; export declare const numberToChallengeRating: (num: number) => "0" | "1/8" | "1/4" | "1/2" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "28" | "30"; export interface IMonsterJson { cr: string; name: string; hp: string; href: string; type: string; size: string; } export declare const isMonsterJson: (someValue: any) => someValue is IMonsterJson; export declare const asMonsterJson: (someValue: any) => IMonsterJson; interface IProps { challenge: ChallengeRating; healthPoints: number; href: URL; name: string; type: MonsterType; size: MonsterSize; } export default class Monster { challenge: ChallengeRating; healthPoints: number; name: string; readonly href: URL; readonly type: MonsterType; readonly size: MonsterSize; constructor({ challenge, href, healthPoints, name, type, size }: IProps); static copy(other: Monster): Monster; static parse(data: IMonsterJson): Monster; } export {};