export type PerceptionPoint = readonly [number, number]; export interface PerceptionTarget { readonly id: string; readonly position: PerceptionPoint; readonly priority?: number; } export interface PerceptionSensorOptions { readonly position: PerceptionPoint; readonly forward?: PerceptionPoint; readonly range?: number; readonly fovRadians?: number; readonly peripheralRadians?: number; readonly minConfidence?: number; readonly memoryDecayPerSecond?: number; readonly forgetBelowConfidence?: number; } export interface PerceptionHit { readonly id: string; readonly position: PerceptionPoint; readonly distance: number; readonly angleRadians: number; readonly confidence: number; readonly peripheral: boolean; readonly justEntered: boolean; } export interface PerceptionMemory { readonly id: string; readonly lastKnownPosition: PerceptionPoint; readonly confidence: number; readonly lastSeenSeconds: number; readonly seenCount: number; } export interface PerceptionSnapshot { readonly visible: readonly PerceptionHit[]; readonly memories: readonly PerceptionMemory[]; readonly closestVisible?: PerceptionHit; readonly strongestMemory?: PerceptionMemory; readonly enteredIds: readonly string[]; readonly forgottenIds: readonly string[]; } export declare class PerceptionSensor { private position; private forward; private readonly range; private readonly fovRadians; private readonly peripheralRadians; private readonly minConfidence; private readonly memoryDecayPerSecond; private readonly forgetBelowConfidence; private readonly memories; private readonly visibleLastTick; private elapsedSeconds; constructor(options: PerceptionSensorOptions); updateTransform(position: PerceptionPoint, forward?: PerceptionPoint): void; scan(targets: readonly PerceptionTarget[], deltaSeconds: number): PerceptionSnapshot; private evaluateTarget; } //# sourceMappingURL=Perception.d.ts.map