/** * UFOBehaviorRunner - Coordinates UFO behavior execution * * This is a thin coordinator that delegates to individual behavior classes. * Each behavior is a standalone class with clear single responsibility. */ import type { IUFOBehaviorRunner, BehaviorContext } from "../contracts/IUFOBehaviorRunner.js"; import type { StarInfo, EventPosition } from "../domain/ufo-types.js"; export declare class UFOBehaviorRunner implements IUFOBehaviorRunner { private readonly chasingBehavior; private readonly givingUpBehavior; private readonly sampleCollectionBehavior; private readonly photographingBehavior; private readonly groundInvestigationBehavior; private readonly panickingBehavior; private readonly surfingBehavior; private readonly followingBehavior; private readonly communicatingBehavior; private readonly nappingBehavior; private readonly celebratingBehavior; private readonly peekabooBehavior; startChasing(ctx: BehaviorContext, event: EventPosition): void; updateChasing(ctx: BehaviorContext): void; startGivingUp(ctx: BehaviorContext): void; updateGivingUp(ctx: BehaviorContext): void; startCollectingSample(ctx: BehaviorContext, event: EventPosition): void; updateCollectingSample(ctx: BehaviorContext): void; startPhotographing(ctx: BehaviorContext, star: StarInfo): void; updatePhotographing(ctx: BehaviorContext): void; startInvestigatingGround(ctx: BehaviorContext): void; updateInvestigatingGround(ctx: BehaviorContext): void; startPanicking(ctx: BehaviorContext, fromX: number, fromY: number): void; updatePanicking(ctx: BehaviorContext): void; startSurfing(ctx: BehaviorContext, event: EventPosition): void; updateSurfing(ctx: BehaviorContext): void; startFollowing(ctx: BehaviorContext, event: EventPosition): void; updateFollowing(ctx: BehaviorContext): void; startCommunicating(ctx: BehaviorContext, star: StarInfo): void; updateCommunicating(ctx: BehaviorContext): void; startNapping(ctx: BehaviorContext): void; updateNapping(ctx: BehaviorContext): void; startCelebrating(ctx: BehaviorContext): void; updateCelebrating(ctx: BehaviorContext): void; startHiding(ctx: BehaviorContext): void; updatePeekaboo(ctx: BehaviorContext): void; } //# sourceMappingURL=UFOBehaviorRunner.d.ts.map