import type { Vector3 } from '@holoscript/core'; /** * TriggerZone.ts * * Trigger zones: enter/stay/exit callbacks, shape overlap tests, * zone stacking, and entity tracking. * * @module physics */ export type TriggerEvent = 'enter' | 'stay' | 'exit'; export type TriggerCallback = (entityId: string, zoneId: string, event: TriggerEvent) => void; export interface TriggerShape { type: 'box' | 'sphere'; position: [number, number, number] | Vector3; halfExtents?: [number, number, number] | Vector3; radius?: number; } export interface TriggerZoneConfig { id: string; shape: TriggerShape; enabled: boolean; tags: string[]; } export declare class TriggerZoneSystem { private zones; private callbacks; private occupants; addZone(config: TriggerZoneConfig): void; removeZone(id: string): void; enableZone(id: string, enabled: boolean): void; onTrigger(zoneId: string, callback: TriggerCallback): void; private fire; update(entities: Array<{ id: string; position: [number, number, number]; radius?: number; }>): void; private overlaps; private getComponent; isInside(entityId: string, zoneId: string): boolean; getOccupants(zoneId: string): string[]; getZonesForEntity(entityId: string): string[]; getZoneCount(): number; } //# sourceMappingURL=TriggerZone.d.ts.map