import { z } from 'zod'; export declare const SpellSchoolSchema: z.ZodEnum<["abjuration", "conjuration", "divination", "enchantment", "evocation", "illusion", "necromancy", "transmutation"]>; export type SpellSchool = z.infer; export declare const CastingTimeSchema: z.ZodEnum<["action", "bonus_action", "reaction", "minute", "10_minutes", "hour", "8_hours", "12_hours", "24_hours"]>; export type CastingTime = z.infer; export declare const SpellRangeSchema: z.ZodUnion<[z.ZodLiteral<"self">, z.ZodLiteral<"touch">, z.ZodNumber]>; export type SpellRange = z.infer; export declare const DamageTypeSchema: z.ZodEnum<["acid", "bludgeoning", "cold", "fire", "force", "lightning", "necrotic", "piercing", "poison", "psychic", "radiant", "slashing", "thunder"]>; export type DamageType = z.infer; export declare const SaveTypeSchema: z.ZodEnum<["strength", "dexterity", "constitution", "intelligence", "wisdom", "charisma", "none"]>; export type SaveType = z.infer; export declare const SpellComponentsSchema: z.ZodObject<{ verbal: z.ZodBoolean; somatic: z.ZodBoolean; material: z.ZodBoolean; materialDescription: z.ZodOptional; }, "strip", z.ZodTypeAny, { verbal: boolean; somatic: boolean; material: boolean; materialDescription?: string | undefined; }, { verbal: boolean; somatic: boolean; material: boolean; materialDescription?: string | undefined; }>; export type SpellComponents = z.infer; export declare const SpellTargetTypeSchema: z.ZodEnum<["self", "creature", "creatures", "point", "area", "object"]>; export type SpellTargetType = z.infer; export declare const AreaShapeSchema: z.ZodEnum<["cone", "cube", "cylinder", "line", "sphere"]>; export type AreaShape = z.infer; export declare const SpellEffectSchema: z.ZodObject<{ type: z.ZodEnum<["damage", "healing", "buff", "debuff", "utility", "summon"]>; dice: z.ZodOptional; damageType: z.ZodOptional>; saveType: z.ZodOptional>; saveEffect: z.ZodOptional>; upcastBonus: z.ZodOptional; }, "strip", z.ZodTypeAny, { dice: string; perLevel: number; }, { dice: string; perLevel?: number | undefined; }>>; conditions: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "damage" | "healing" | "buff" | "debuff" | "utility" | "summon"; conditions?: string[] | undefined; dice?: string | undefined; damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined; saveType?: "strength" | "dexterity" | "constitution" | "intelligence" | "wisdom" | "charisma" | "none" | undefined; saveEffect?: "none" | "half" | "special" | undefined; upcastBonus?: { dice: string; perLevel: number; } | undefined; }, { type: "damage" | "healing" | "buff" | "debuff" | "utility" | "summon"; conditions?: string[] | undefined; dice?: string | undefined; damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined; saveType?: "strength" | "dexterity" | "constitution" | "intelligence" | "wisdom" | "charisma" | "none" | undefined; saveEffect?: "none" | "half" | "special" | undefined; upcastBonus?: { dice: string; perLevel?: number | undefined; } | undefined; }>; export type SpellEffect = z.infer; export declare const SpellcastingClassSchema: z.ZodEnum<["bard", "cleric", "druid", "paladin", "ranger", "sorcerer", "warlock", "wizard", "artificer"]>; export type SpellcastingClass = z.infer; export declare const SpellSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; level: z.ZodNumber; school: z.ZodEnum<["abjuration", "conjuration", "divination", "enchantment", "evocation", "illusion", "necromancy", "transmutation"]>; castingTime: z.ZodEnum<["action", "bonus_action", "reaction", "minute", "10_minutes", "hour", "8_hours", "12_hours", "24_hours"]>; range: z.ZodUnion<[z.ZodLiteral<"self">, z.ZodLiteral<"touch">, z.ZodNumber]>; components: z.ZodObject<{ verbal: z.ZodBoolean; somatic: z.ZodBoolean; material: z.ZodBoolean; materialDescription: z.ZodOptional; }, "strip", z.ZodTypeAny, { verbal: boolean; somatic: boolean; material: boolean; materialDescription?: string | undefined; }, { verbal: boolean; somatic: boolean; material: boolean; materialDescription?: string | undefined; }>; duration: z.ZodString; concentration: z.ZodBoolean; ritual: z.ZodDefault>; description: z.ZodString; higherLevels: z.ZodOptional; classes: z.ZodArray, "many">; targetType: z.ZodEnum<["self", "creature", "creatures", "point", "area", "object"]>; areaOfEffect: z.ZodOptional; size: z.ZodNumber; }, "strip", z.ZodTypeAny, { shape: "cone" | "cube" | "cylinder" | "line" | "sphere"; size: number; }, { shape: "cone" | "cube" | "cylinder" | "line" | "sphere"; size: number; }>>; effects: z.ZodArray; dice: z.ZodOptional; damageType: z.ZodOptional>; saveType: z.ZodOptional>; saveEffect: z.ZodOptional>; upcastBonus: z.ZodOptional; }, "strip", z.ZodTypeAny, { dice: string; perLevel: number; }, { dice: string; perLevel?: number | undefined; }>>; conditions: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "damage" | "healing" | "buff" | "debuff" | "utility" | "summon"; conditions?: string[] | undefined; dice?: string | undefined; damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined; saveType?: "strength" | "dexterity" | "constitution" | "intelligence" | "wisdom" | "charisma" | "none" | undefined; saveEffect?: "none" | "half" | "special" | undefined; upcastBonus?: { dice: string; perLevel: number; } | undefined; }, { type: "damage" | "healing" | "buff" | "debuff" | "utility" | "summon"; conditions?: string[] | undefined; dice?: string | undefined; damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined; saveType?: "strength" | "dexterity" | "constitution" | "intelligence" | "wisdom" | "charisma" | "none" | undefined; saveEffect?: "none" | "half" | "special" | undefined; upcastBonus?: { dice: string; perLevel?: number | undefined; } | undefined; }>, "many">; autoHit: z.ZodDefault; }, "strip", z.ZodTypeAny, { concentration: boolean; id: string; name: string; description: string; level: number; school: "abjuration" | "conjuration" | "divination" | "enchantment" | "evocation" | "illusion" | "necromancy" | "transmutation"; castingTime: "action" | "bonus_action" | "reaction" | "minute" | "10_minutes" | "hour" | "8_hours" | "12_hours" | "24_hours"; range: number | "self" | "touch"; components: { verbal: boolean; somatic: boolean; material: boolean; materialDescription?: string | undefined; }; duration: string; ritual: boolean; classes: ("bard" | "cleric" | "druid" | "paladin" | "ranger" | "sorcerer" | "warlock" | "wizard" | "artificer")[]; targetType: "object" | "self" | "creature" | "creatures" | "point" | "area"; effects: { type: "damage" | "healing" | "buff" | "debuff" | "utility" | "summon"; conditions?: string[] | undefined; dice?: string | undefined; damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined; saveType?: "strength" | "dexterity" | "constitution" | "intelligence" | "wisdom" | "charisma" | "none" | undefined; saveEffect?: "none" | "half" | "special" | undefined; upcastBonus?: { dice: string; perLevel: number; } | undefined; }[]; autoHit: boolean; higherLevels?: string | undefined; areaOfEffect?: { shape: "cone" | "cube" | "cylinder" | "line" | "sphere"; size: number; } | undefined; }, { concentration: boolean; id: string; name: string; description: string; level: number; school: "abjuration" | "conjuration" | "divination" | "enchantment" | "evocation" | "illusion" | "necromancy" | "transmutation"; castingTime: "action" | "bonus_action" | "reaction" | "minute" | "10_minutes" | "hour" | "8_hours" | "12_hours" | "24_hours"; range: number | "self" | "touch"; components: { verbal: boolean; somatic: boolean; material: boolean; materialDescription?: string | undefined; }; duration: string; classes: ("bard" | "cleric" | "druid" | "paladin" | "ranger" | "sorcerer" | "warlock" | "wizard" | "artificer")[]; targetType: "object" | "self" | "creature" | "creatures" | "point" | "area"; effects: { type: "damage" | "healing" | "buff" | "debuff" | "utility" | "summon"; conditions?: string[] | undefined; dice?: string | undefined; damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined; saveType?: "strength" | "dexterity" | "constitution" | "intelligence" | "wisdom" | "charisma" | "none" | undefined; saveEffect?: "none" | "half" | "special" | undefined; upcastBonus?: { dice: string; perLevel?: number | undefined; } | undefined; }[]; ritual?: boolean | undefined; higherLevels?: string | undefined; areaOfEffect?: { shape: "cone" | "cube" | "cylinder" | "line" | "sphere"; size: number; } | undefined; autoHit?: boolean | undefined; }>; export type Spell = z.infer; export declare const SpellSlotSchema: z.ZodObject<{ current: z.ZodNumber; max: z.ZodNumber; }, "strip", z.ZodTypeAny, { current: number; max: number; }, { current: number; max: number; }>; export type SpellSlot = z.infer; export declare const SpellSlotsSchema: z.ZodObject<{ level1: z.ZodDefault>; level2: z.ZodDefault>; level3: z.ZodDefault>; level4: z.ZodDefault>; level5: z.ZodDefault>; level6: z.ZodDefault>; level7: z.ZodDefault>; level8: z.ZodDefault>; level9: z.ZodDefault>; }, "strip", z.ZodTypeAny, { level1: { current: number; max: number; }; level2: { current: number; max: number; }; level3: { current: number; max: number; }; level4: { current: number; max: number; }; level5: { current: number; max: number; }; level6: { current: number; max: number; }; level7: { current: number; max: number; }; level8: { current: number; max: number; }; level9: { current: number; max: number; }; }, { level1?: { current: number; max: number; } | undefined; level2?: { current: number; max: number; } | undefined; level3?: { current: number; max: number; } | undefined; level4?: { current: number; max: number; } | undefined; level5?: { current: number; max: number; } | undefined; level6?: { current: number; max: number; } | undefined; level7?: { current: number; max: number; } | undefined; level8?: { current: number; max: number; } | undefined; level9?: { current: number; max: number; } | undefined; }>; export type SpellSlots = z.infer; export declare const PactMagicSlotsSchema: z.ZodObject<{ current: z.ZodNumber; max: z.ZodNumber; slotLevel: z.ZodNumber; }, "strip", z.ZodTypeAny, { current: number; max: number; slotLevel: number; }, { current: number; max: number; slotLevel: number; }>; export type PactMagicSlots = z.infer; export declare const SpellcastingAbilitySchema: z.ZodEnum<["intelligence", "wisdom", "charisma"]>; export type SpellcastingAbility = z.infer; export declare const CharacterClassSchema: z.ZodEnum<["barbarian", "bard", "cleric", "druid", "fighter", "monk", "paladin", "ranger", "rogue", "sorcerer", "warlock", "wizard", "artificer"]>; export type CharacterClass = z.infer; export declare const SubclassSchema: z.ZodDefault>; export type Subclass = z.infer; export declare const CastSpellRequestSchema: z.ZodObject<{ characterId: z.ZodString; spellName: z.ZodString; slotLevel: z.ZodOptional; targetId: z.ZodOptional; targetPoint: z.ZodOptional>; asReaction: z.ZodOptional; metamagic: z.ZodOptional>; }, "strip", z.ZodTypeAny, { characterId: string; spellName: string; targetId?: string | undefined; slotLevel?: number | undefined; targetPoint?: { x: number; y: number; } | undefined; asReaction?: boolean | undefined; metamagic?: string[] | undefined; }, { characterId: string; spellName: string; targetId?: string | undefined; slotLevel?: number | undefined; targetPoint?: { x: number; y: number; } | undefined; asReaction?: boolean | undefined; metamagic?: string[] | undefined; }>; export type CastSpellRequest = z.infer; export declare const SpellCastResultSchema: z.ZodObject<{ success: z.ZodBoolean; spellName: z.ZodString; slotUsed: z.ZodOptional; damage: z.ZodOptional; damageType: z.ZodOptional>; healing: z.ZodOptional; diceRolled: z.ZodOptional; saveResult: z.ZodOptional>; damageRolled: z.ZodOptional; damageApplied: z.ZodOptional; autoHit: z.ZodOptional; attackRoll: z.ZodOptional; acBonus: z.ZodOptional; dartCount: z.ZodOptional; concentration: z.ZodOptional; error: z.ZodOptional; }, "strip", z.ZodTypeAny, { success: boolean; spellName: string; concentration?: boolean | undefined; error?: string | undefined; damage?: number | undefined; healing?: number | undefined; damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined; autoHit?: boolean | undefined; slotUsed?: number | undefined; diceRolled?: string | undefined; saveResult?: "none" | "passed" | "failed" | undefined; damageRolled?: number | undefined; damageApplied?: number | undefined; attackRoll?: number | undefined; acBonus?: number | undefined; dartCount?: number | undefined; }, { success: boolean; spellName: string; concentration?: boolean | undefined; error?: string | undefined; damage?: number | undefined; healing?: number | undefined; damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined; autoHit?: boolean | undefined; slotUsed?: number | undefined; diceRolled?: string | undefined; saveResult?: "none" | "passed" | "failed" | undefined; damageRolled?: number | undefined; damageApplied?: number | undefined; attackRoll?: number | undefined; acBonus?: number | undefined; dartCount?: number | undefined; }>; export type SpellCastResult = z.infer; //# sourceMappingURL=spell.d.ts.map