import type { FishMarineLife } from "../../domain/models/OceanModels.js"; import type { IFishPropulsionCalculator } from "../contracts/IFishPropulsionCalculator.js"; /** * FishPropulsionCalculator - Derives forward thrust from tail physics * * Physics model: * - Tail position: sin(swimPhase) - oscillates side to side * - Tail velocity: cos(swimPhase) - derivative, peaks at center crossing * - Thrust: |cos(swimPhase)| - magnitude of velocity generates thrust * * This creates realistic behavior: * - Fish accelerate as tail crosses center (fastest sweep) * - Fish coast slightly at extremes (tail reversing direction) * - Speed varies naturally with swimming intensity */ export declare class FishPropulsionCalculator implements IFishPropulsionCalculator { calculateThrust(fish: FishMarineLife): number; calculateTargetSpeed(fish: FishMarineLife): number; getTailVelocity(fish: FishMarineLife): { lateral: number; angular: number; }; } /** * Smoothly interpolate speed toward target * Used by movement controller to prevent jerky speed changes */ export declare function smoothSpeed(currentSpeed: number, targetSpeed: number, deltaSeconds: number): number; //# sourceMappingURL=FishPropulsionCalculator.d.ts.map