import type { FishMarineLife } from "../../domain/models/OceanModels.js"; import type { IFishSpineController } from "../contracts/IFishSpineController.js"; import type { IFishPropulsionCalculator } from "../contracts/IFishPropulsionCalculator.js"; import { SpineChain } from "../../physics/SpineChain.js"; /** * FishSpineController - Manages spine chain physics for organic swimming * * Handles spine chain lifecycle (create, update, remove) and synchronizes * physics state back to fish entities for rendering. Now includes propulsion * calculation to connect tail motion with forward movement. */ export declare class FishSpineController implements IFishSpineController { private spineChains; private propulsionCalculator; constructor(propulsionCalculator?: IFishPropulsionCalculator); initializeSpineChain(fish: FishMarineLife): void; updatePropulsion(fish: FishMarineLife, deltaSeconds: number): void; updateSpineChain(fish: FishMarineLife, deltaSeconds: number, frameMultiplier: number): void; getSpineChain(fish: FishMarineLife): SpineChain | undefined; removeSpineChain(fish: FishMarineLife): void; /** * Reposition a fish's spine chain to match updated fish.x/y * Call this after manually moving a fish's position */ repositionSpineChain(fish: FishMarineLife, dx: number, dy: number): void; /** * Create fins attached to spine segments */ private createSpineFins; } //# sourceMappingURL=FishSpineController.d.ts.map