import { Entity } from './entity.js'; /** * Defines the type of a property in an entity template. */ export declare enum PropertyType { String = "string", Number = "number", Vec3 = "vec3", Angle = "angle", Boolean = "boolean", Choice = "choice", Reference = "reference" } /** * Defines a template for an entity type, including default values and property schemas. */ export interface EntityTemplate { classname: string; defaultProperties: Record; requiredProperties: string[]; propertyTypes: Record; description: string; } /** * Registry of entity templates. * * Default values are derived from original Quake 2 source files: * - g_spawn.c * - g_func.c * - g_misc.c * - m_soldier.c */ export declare const ENTITY_TEMPLATES: Record; /** * Retrieves the template for a given entity classname. */ export declare function getEntityTemplate(classname: string): EntityTemplate | undefined; /** * Validates an entity against its template. * Returns a list of error messages, or empty array if valid. */ export declare function validateEntityAgainstTemplate(entity: Partial & { classname: string; }): string[]; //# sourceMappingURL=templates.d.ts.map