/** * Selection Module * * Follows Module pattern for: * - Serialization support * - Maintainability * - Usability * - Runtime extensibility * * Core Principles Followed: * 1. ✅ Extends Module * 2. ✅ Uses {type, params} structure * 3. ✅ Uses registerType() for selection strategies * 4. ✅ register() returns SelectionResolved * 5. ✅ Calls addDefinition() for all registrations * 6. ✅ Built-in selections registered in constructor */ import { Position, SelectionDefinition, EntityRef } from './types'; import { ECSContext } from "../../core/ecs"; import { Module } from "../Module"; /** * Resolved selection - a function that selects an entity based on context */ export interface SelectionResolved { select: (index: number, position: Position, ctx?: ECSContext) => string; } export declare class SelectionModule extends Module { constructor(ctx: ECSContext); /** * Select an entity using a selection definition */ select(selection: SelectionDefinition, index: number, position: Position, ctx?: ECSContext): string; } /** Select an entity from EntityRef (string, array, or weighted array) */ export declare function selectEntityFromRef(ref: EntityRef, index?: number): string; export declare const selectionModule: (ctx: ECSContext) => SelectionModule; //# sourceMappingURL=selection.d.ts.map