import { z } from 'zod'; export declare const ConditionSchema: z.ZodObject<{ id: z.ZodString; type: z.ZodString; durationType: z.ZodString; duration: z.ZodOptional; sourceId: z.ZodOptional; saveDC: z.ZodOptional; saveAbility: z.ZodOptional; ongoingEffects: z.ZodOptional>; metadata: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: string; id: string; durationType: string; duration?: number | undefined; sourceId?: string | undefined; saveDC?: number | undefined; saveAbility?: string | undefined; ongoingEffects?: any[] | undefined; metadata?: Record | undefined; }, { type: string; id: string; durationType: string; duration?: number | undefined; sourceId?: string | undefined; saveDC?: number | undefined; saveAbility?: string | undefined; ongoingEffects?: any[] | undefined; metadata?: Record | undefined; }>; export declare const PositionSchema: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; z: z.ZodOptional; }, "strip", z.ZodTypeAny, { x: number; y: number; z?: number | undefined; }, { x: number; y: number; z?: number | undefined; }>; export type Position = z.infer; /** * Grid bounds schema for spatial validation (BUG-001 fix) * Defines the valid coordinate range for an encounter's grid. * Default: 0-100 for both axes (101x101 grid) */ export declare const GridBoundsSchema: z.ZodObject<{ minX: z.ZodDefault; maxX: z.ZodDefault; minY: z.ZodDefault; maxY: z.ZodDefault; minZ: z.ZodOptional; maxZ: z.ZodOptional; }, "strip", z.ZodTypeAny, { minX: number; maxX: number; minY: number; maxY: number; minZ?: number | undefined; maxZ?: number | undefined; }, { minX?: number | undefined; maxX?: number | undefined; minY?: number | undefined; maxY?: number | undefined; minZ?: number | undefined; maxZ?: number | undefined; }>; export type GridBounds = z.infer; /** * Default grid bounds (101x101 grid from 0-100) */ export declare const DEFAULT_GRID_BOUNDS: GridBounds; /** * Size category for creatures (affects occupied squares) * Based on D&D 5e size categories */ export declare const SizeCategorySchema: z.ZodEnum<["tiny", "small", "medium", "large", "huge", "gargantuan"]>; export type SizeCategory = z.infer; /** * Get the grid footprint (squares occupied) for a size category * @param size The creature's size category * @returns Number of squares on each side (e.g., 2 for Large = 2x2) */ export declare function getSizeFootprint(size: SizeCategory): number; export declare const TokenSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; initiativeBonus: z.ZodNumber; initiative: z.ZodOptional; isEnemy: z.ZodOptional; hp: z.ZodNumber; maxHp: z.ZodNumber; conditions: z.ZodArray; sourceId: z.ZodOptional; saveDC: z.ZodOptional; saveAbility: z.ZodOptional; ongoingEffects: z.ZodOptional>; metadata: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: string; id: string; durationType: string; duration?: number | undefined; sourceId?: string | undefined; saveDC?: number | undefined; saveAbility?: string | undefined; ongoingEffects?: any[] | undefined; metadata?: Record | undefined; }, { type: string; id: string; durationType: string; duration?: number | undefined; sourceId?: string | undefined; saveDC?: number | undefined; saveAbility?: string | undefined; ongoingEffects?: any[] | undefined; metadata?: Record | undefined; }>, "many">; position: z.ZodOptional; }, "strip", z.ZodTypeAny, { x: number; y: number; z?: number | undefined; }, { x: number; y: number; z?: number | undefined; }>>; movementSpeed: z.ZodDefault; movementRemaining: z.ZodOptional; size: z.ZodDefault>; abilityScores: z.ZodOptional>; ac: z.ZodOptional; attackDamage: z.ZodOptional; attackBonus: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; name: string; conditions: { type: string; id: string; durationType: string; duration?: number | undefined; sourceId?: string | undefined; saveDC?: number | undefined; saveAbility?: string | undefined; ongoingEffects?: any[] | undefined; metadata?: Record | undefined; }[]; hp: number; maxHp: number; size: "medium" | "tiny" | "small" | "large" | "huge" | "gargantuan"; initiativeBonus: number; movementSpeed: number; position?: { x: number; y: number; z?: number | undefined; } | undefined; ac?: number | undefined; initiative?: number | undefined; isEnemy?: boolean | undefined; movementRemaining?: number | undefined; abilityScores?: { strength: number; dexterity: number; constitution: number; intelligence: number; wisdom: number; charisma: number; } | undefined; attackDamage?: string | undefined; attackBonus?: number | undefined; }, { id: string; name: string; conditions: { type: string; id: string; durationType: string; duration?: number | undefined; sourceId?: string | undefined; saveDC?: number | undefined; saveAbility?: string | undefined; ongoingEffects?: any[] | undefined; metadata?: Record | undefined; }[]; hp: number; maxHp: number; initiativeBonus: number; position?: { x: number; y: number; z?: number | undefined; } | undefined; ac?: number | undefined; size?: "medium" | "tiny" | "small" | "large" | "huge" | "gargantuan" | undefined; initiative?: number | undefined; isEnemy?: boolean | undefined; movementSpeed?: number | undefined; movementRemaining?: number | undefined; abilityScores?: { strength: number; dexterity: number; constitution: number; intelligence: number; wisdom: number; charisma: number; } | undefined; attackDamage?: string | undefined; attackBonus?: number | undefined; }>; export type Token = z.infer; export declare const TerrainSchema: z.ZodObject<{ obstacles: z.ZodDefault>; difficultTerrain: z.ZodOptional>; }, "strip", z.ZodTypeAny, { obstacles: string[]; difficultTerrain?: string[] | undefined; }, { obstacles?: string[] | undefined; difficultTerrain?: string[] | undefined; }>; export type Terrain = z.infer; export declare const PropSchema: z.ZodObject<{ id: z.ZodString; position: z.ZodString; label: z.ZodString; propType: z.ZodEnum<["structure", "cover", "climbable", "hazard", "interactive", "decoration"]>; heightFeet: z.ZodOptional; cover: z.ZodOptional>; climbable: z.ZodOptional; climbDC: z.ZodOptional; breakable: z.ZodOptional; hp: z.ZodOptional; currentHp: z.ZodOptional; description: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; position: string; label: string; propType: "structure" | "cover" | "climbable" | "hazard" | "interactive" | "decoration"; description?: string | undefined; hp?: number | undefined; cover?: "none" | "half" | "three_quarter" | "full" | undefined; climbable?: boolean | undefined; heightFeet?: number | undefined; climbDC?: number | undefined; breakable?: boolean | undefined; currentHp?: number | undefined; }, { id: string; position: string; label: string; propType: "structure" | "cover" | "climbable" | "hazard" | "interactive" | "decoration"; description?: string | undefined; hp?: number | undefined; cover?: "none" | "half" | "three_quarter" | "full" | undefined; climbable?: boolean | undefined; heightFeet?: number | undefined; climbDC?: number | undefined; breakable?: boolean | undefined; currentHp?: number | undefined; }>; export type Prop = z.infer; export declare const EncounterSchema: z.ZodObject<{ id: z.ZodString; regionId: z.ZodOptional; tokens: z.ZodArray; isEnemy: z.ZodOptional; hp: z.ZodNumber; maxHp: z.ZodNumber; conditions: z.ZodArray; sourceId: z.ZodOptional; saveDC: z.ZodOptional; saveAbility: z.ZodOptional; ongoingEffects: z.ZodOptional>; metadata: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: string; id: string; durationType: string; duration?: number | undefined; sourceId?: string | undefined; saveDC?: number | undefined; saveAbility?: string | undefined; ongoingEffects?: any[] | undefined; metadata?: Record | undefined; }, { type: string; id: string; durationType: string; duration?: number | undefined; sourceId?: string | undefined; saveDC?: number | undefined; saveAbility?: string | undefined; ongoingEffects?: any[] | undefined; metadata?: Record | undefined; }>, "many">; position: z.ZodOptional; }, "strip", z.ZodTypeAny, { x: number; y: number; z?: number | undefined; }, { x: number; y: number; z?: number | undefined; }>>; movementSpeed: z.ZodDefault; movementRemaining: z.ZodOptional; size: z.ZodDefault>; abilityScores: z.ZodOptional>; ac: z.ZodOptional; attackDamage: z.ZodOptional; attackBonus: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; name: string; conditions: { type: string; id: string; durationType: string; duration?: number | undefined; sourceId?: string | undefined; saveDC?: number | undefined; saveAbility?: string | undefined; ongoingEffects?: any[] | undefined; metadata?: Record | undefined; }[]; hp: number; maxHp: number; size: "medium" | "tiny" | "small" | "large" | "huge" | "gargantuan"; initiativeBonus: number; movementSpeed: number; position?: { x: number; y: number; z?: number | undefined; } | undefined; ac?: number | undefined; initiative?: number | undefined; isEnemy?: boolean | undefined; movementRemaining?: number | undefined; abilityScores?: { strength: number; dexterity: number; constitution: number; intelligence: number; wisdom: number; charisma: number; } | undefined; attackDamage?: string | undefined; attackBonus?: number | undefined; }, { id: string; name: string; conditions: { type: string; id: string; durationType: string; duration?: number | undefined; sourceId?: string | undefined; saveDC?: number | undefined; saveAbility?: string | undefined; ongoingEffects?: any[] | undefined; metadata?: Record | undefined; }[]; hp: number; maxHp: number; initiativeBonus: number; position?: { x: number; y: number; z?: number | undefined; } | undefined; ac?: number | undefined; size?: "medium" | "tiny" | "small" | "large" | "huge" | "gargantuan" | undefined; initiative?: number | undefined; isEnemy?: boolean | undefined; movementSpeed?: number | undefined; movementRemaining?: number | undefined; abilityScores?: { strength: number; dexterity: number; constitution: number; intelligence: number; wisdom: number; charisma: number; } | undefined; attackDamage?: string | undefined; attackBonus?: number | undefined; }>, "many">; round: z.ZodNumber; activeTokenId: z.ZodOptional; status: z.ZodEnum<["active", "completed", "paused"]>; terrain: z.ZodOptional>; difficultTerrain: z.ZodOptional>; }, "strip", z.ZodTypeAny, { obstacles: string[]; difficultTerrain?: string[] | undefined; }, { obstacles?: string[] | undefined; difficultTerrain?: string[] | undefined; }>>; props: z.ZodOptional; heightFeet: z.ZodOptional; cover: z.ZodOptional>; climbable: z.ZodOptional; climbDC: z.ZodOptional; breakable: z.ZodOptional; hp: z.ZodOptional; currentHp: z.ZodOptional; description: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; position: string; label: string; propType: "structure" | "cover" | "climbable" | "hazard" | "interactive" | "decoration"; description?: string | undefined; hp?: number | undefined; cover?: "none" | "half" | "three_quarter" | "full" | undefined; climbable?: boolean | undefined; heightFeet?: number | undefined; climbDC?: number | undefined; breakable?: boolean | undefined; currentHp?: number | undefined; }, { id: string; position: string; label: string; propType: "structure" | "cover" | "climbable" | "hazard" | "interactive" | "decoration"; description?: string | undefined; hp?: number | undefined; cover?: "none" | "half" | "three_quarter" | "full" | undefined; climbable?: boolean | undefined; heightFeet?: number | undefined; climbDC?: number | undefined; breakable?: boolean | undefined; currentHp?: number | undefined; }>, "many">>; gridBounds: z.ZodOptional; maxX: z.ZodDefault; minY: z.ZodDefault; maxY: z.ZodDefault; minZ: z.ZodOptional; maxZ: z.ZodOptional; }, "strip", z.ZodTypeAny, { minX: number; maxX: number; minY: number; maxY: number; minZ?: number | undefined; maxZ?: number | undefined; }, { minX?: number | undefined; maxX?: number | undefined; minY?: number | undefined; maxY?: number | undefined; minZ?: number | undefined; maxZ?: number | undefined; }>>; createdAt: z.ZodString; updatedAt: z.ZodString; }, "strip", z.ZodTypeAny, { status: "active" | "completed" | "paused"; id: string; createdAt: string; updatedAt: string; tokens: { id: string; name: string; conditions: { type: string; id: string; durationType: string; duration?: number | undefined; sourceId?: string | undefined; saveDC?: number | undefined; saveAbility?: string | undefined; ongoingEffects?: any[] | undefined; metadata?: Record | undefined; }[]; hp: number; maxHp: number; size: "medium" | "tiny" | "small" | "large" | "huge" | "gargantuan"; initiativeBonus: number; movementSpeed: number; position?: { x: number; y: number; z?: number | undefined; } | undefined; ac?: number | undefined; initiative?: number | undefined; isEnemy?: boolean | undefined; movementRemaining?: number | undefined; abilityScores?: { strength: number; dexterity: number; constitution: number; intelligence: number; wisdom: number; charisma: number; } | undefined; attackDamage?: string | undefined; attackBonus?: number | undefined; }[]; round: number; regionId?: string | undefined; activeTokenId?: string | undefined; terrain?: { obstacles: string[]; difficultTerrain?: string[] | undefined; } | undefined; props?: { id: string; position: string; label: string; propType: "structure" | "cover" | "climbable" | "hazard" | "interactive" | "decoration"; description?: string | undefined; hp?: number | undefined; cover?: "none" | "half" | "three_quarter" | "full" | undefined; climbable?: boolean | undefined; heightFeet?: number | undefined; climbDC?: number | undefined; breakable?: boolean | undefined; currentHp?: number | undefined; }[] | undefined; gridBounds?: { minX: number; maxX: number; minY: number; maxY: number; minZ?: number | undefined; maxZ?: number | undefined; } | undefined; }, { status: "active" | "completed" | "paused"; id: string; createdAt: string; updatedAt: string; tokens: { id: string; name: string; conditions: { type: string; id: string; durationType: string; duration?: number | undefined; sourceId?: string | undefined; saveDC?: number | undefined; saveAbility?: string | undefined; ongoingEffects?: any[] | undefined; metadata?: Record | undefined; }[]; hp: number; maxHp: number; initiativeBonus: number; position?: { x: number; y: number; z?: number | undefined; } | undefined; ac?: number | undefined; size?: "medium" | "tiny" | "small" | "large" | "huge" | "gargantuan" | undefined; initiative?: number | undefined; isEnemy?: boolean | undefined; movementSpeed?: number | undefined; movementRemaining?: number | undefined; abilityScores?: { strength: number; dexterity: number; constitution: number; intelligence: number; wisdom: number; charisma: number; } | undefined; attackDamage?: string | undefined; attackBonus?: number | undefined; }[]; round: number; regionId?: string | undefined; activeTokenId?: string | undefined; terrain?: { obstacles?: string[] | undefined; difficultTerrain?: string[] | undefined; } | undefined; props?: { id: string; position: string; label: string; propType: "structure" | "cover" | "climbable" | "hazard" | "interactive" | "decoration"; description?: string | undefined; hp?: number | undefined; cover?: "none" | "half" | "three_quarter" | "full" | undefined; climbable?: boolean | undefined; heightFeet?: number | undefined; climbDC?: number | undefined; breakable?: boolean | undefined; currentHp?: number | undefined; }[] | undefined; gridBounds?: { minX?: number | undefined; maxX?: number | undefined; minY?: number | undefined; maxY?: number | undefined; minZ?: number | undefined; maxZ?: number | undefined; } | undefined; }>; export type Encounter = z.infer; //# sourceMappingURL=encounter.d.ts.map