import { z } from 'zod'; /** * Scroll Properties Schema * Extended properties for scroll items that contain spells */ export declare const ScrollPropertiesSchema: z.ZodObject<{ spellName: z.ZodString; spellLevel: z.ZodNumber; scrollDC: z.ZodOptional; scrollAttackBonus: z.ZodOptional; requiresCheck: z.ZodDefault; checkDC: z.ZodOptional; spellClass: z.ZodOptional>; }, "strip", z.ZodTypeAny, { spellName: string; spellLevel: number; requiresCheck: boolean; scrollDC?: number | undefined; scrollAttackBonus?: number | undefined; checkDC?: number | undefined; spellClass?: "bard" | "cleric" | "druid" | "paladin" | "ranger" | "sorcerer" | "warlock" | "wizard" | "artificer" | undefined; }, { spellName: string; spellLevel: number; scrollDC?: number | undefined; scrollAttackBonus?: number | undefined; requiresCheck?: boolean | undefined; checkDC?: number | undefined; spellClass?: "bard" | "cleric" | "druid" | "paladin" | "ranger" | "sorcerer" | "warlock" | "wizard" | "artificer" | undefined; }>; export type ScrollProperties = z.infer; /** * Scroll Usage Validation Request */ export declare const ScrollUsageValidationSchema: z.ZodObject<{ characterId: z.ZodString; itemId: z.ZodString; spellName: z.ZodString; spellLevel: z.ZodNumber; spellClass: z.ZodOptional>; targetId: z.ZodOptional; targetPoint: z.ZodOptional>; }, "strip", z.ZodTypeAny, { itemId: string; characterId: string; spellName: string; spellLevel: number; targetId?: string | undefined; targetPoint?: { x: number; y: number; } | undefined; spellClass?: "bard" | "cleric" | "druid" | "paladin" | "ranger" | "sorcerer" | "warlock" | "wizard" | "artificer" | undefined; }, { itemId: string; characterId: string; spellName: string; spellLevel: number; targetId?: string | undefined; targetPoint?: { x: number; y: number; } | undefined; spellClass?: "bard" | "cleric" | "druid" | "paladin" | "ranger" | "sorcerer" | "warlock" | "wizard" | "artificer" | undefined; }>; export type ScrollUsageValidation = z.infer; /** * Scroll Usage Result */ export declare const ScrollUsageResultSchema: z.ZodObject<{ success: z.ZodBoolean; consumed: z.ZodBoolean; requiresCheck: z.ZodBoolean; checkRoll: z.ZodOptional; checkTotal: z.ZodOptional; checkDC: z.ZodOptional; checkPassed: z.ZodOptional; reason: z.ZodEnum<["auto_success", "check_passed", "check_failed", "not_in_inventory", "spell_cast", "invalid_scroll"]>; spellCastResult: z.ZodOptional>; message: z.ZodString; }, "strip", z.ZodTypeAny, { message: string; success: boolean; reason: "auto_success" | "check_passed" | "check_failed" | "not_in_inventory" | "spell_cast" | "invalid_scroll"; requiresCheck: boolean; consumed: boolean; checkDC?: number | undefined; checkRoll?: number | undefined; checkTotal?: number | undefined; checkPassed?: boolean | undefined; spellCastResult?: Record | undefined; }, { message: string; success: boolean; reason: "auto_success" | "check_passed" | "check_failed" | "not_in_inventory" | "spell_cast" | "invalid_scroll"; requiresCheck: boolean; consumed: boolean; checkDC?: number | undefined; checkRoll?: number | undefined; checkTotal?: number | undefined; checkPassed?: boolean | undefined; spellCastResult?: Record | undefined; }>; export type ScrollUsageResult = z.infer; /** * Scroll Creation Request */ export declare const CreateScrollRequestSchema: z.ZodObject<{ spellName: z.ZodString; spellLevel: z.ZodNumber; scrollDC: z.ZodOptional; scrollAttackBonus: z.ZodOptional; spellClass: z.ZodOptional>; value: z.ZodOptional; description: z.ZodOptional; }, "strip", z.ZodTypeAny, { spellName: string; spellLevel: number; value?: number | undefined; description?: string | undefined; scrollDC?: number | undefined; scrollAttackBonus?: number | undefined; spellClass?: "bard" | "cleric" | "druid" | "paladin" | "ranger" | "sorcerer" | "warlock" | "wizard" | "artificer" | undefined; }, { spellName: string; spellLevel: number; value?: number | undefined; description?: string | undefined; scrollDC?: number | undefined; scrollAttackBonus?: number | undefined; spellClass?: "bard" | "cleric" | "druid" | "paladin" | "ranger" | "sorcerer" | "warlock" | "wizard" | "artificer" | undefined; }>; export type CreateScrollRequest = z.infer; /** * Scroll rarity based on spell level */ export declare enum ScrollRarity { COMMON = "common",// Cantrips UNCOMMON = "uncommon",// 1st-3rd level RARE = "rare",// 4th-5th level VERY_RARE = "very_rare",// 6th-8th level LEGENDARY = "legendary" } /** * Get scroll rarity based on spell level */ export declare function getScrollRarity(spellLevel: number): ScrollRarity; /** * Calculate default scroll DC based on spell level * Formula: 13 + spell level (standard for crafted scrolls) */ export declare function calculateScrollDC(spellLevel: number): number; /** * Calculate default scroll attack bonus based on spell level * Formula: 5 + spell level (standard for crafted scrolls) */ export declare function calculateScrollAttackBonus(spellLevel: number): number; /** * Calculate scroll value based on spell level and rarity * Based on DMG scroll prices */ export declare function calculateScrollValue(spellLevel: number): number; //# sourceMappingURL=scroll.d.ts.map