import { Entity } from './entity.js'; import type { EntitySystem } from './system.js'; export type ParsedEntity = Record; export declare function applyEntityKeyValues(entity: Entity, values: ParsedEntity): void; export declare function parseEntityLump(text: string): ParsedEntity[]; export interface SpawnContext { readonly keyValues: ParsedEntity; readonly entities: EntitySystem; readonly health_multiplier: number; warn(message: string): void; free(entity: Entity): void; } export type SpawnFunction = (entity: Entity, context: SpawnContext) => void; export declare class SpawnRegistry { private readonly registry; register(classname: string, spawn: SpawnFunction): void; unregister(classname: string): void; get(classname: string): SpawnFunction | undefined; keys(): IterableIterator; } export interface SpawnOptions { readonly registry: SpawnRegistry; readonly entities: EntitySystem; readonly onWarning?: (message: string) => void; } export declare function spawnEntityFromDictionary(dictionary: ParsedEntity, options: SpawnOptions): Entity | null; export declare function spawnEntitiesFromText(text: string, options: SpawnOptions): Entity[]; export declare function SelectDeathmatchSpawnPoint(entities: EntitySystem): Entity | undefined; export declare function SelectSpawnPoint(entities: EntitySystem): Entity | undefined; export declare function findPlayerStart(entities: EntitySystem): Entity | undefined; export declare function registerDefaultSpawns(registry: SpawnRegistry, game?: any): void; export declare function createDefaultSpawnRegistry(game: any): SpawnRegistry; //# sourceMappingURL=spawn.d.ts.map