import { ReelPhase } from './ReelPhase.js'; import { Reel } from '../../core/Reel.js'; import { SpeedProfile } from '../../config/types.js'; export interface AdjustPhaseConfig { /** * Pin overlays on this reel that need to tween from their pre-reshape * cell to the post-reshape cell. Populated by `SpinController` BEFORE * the reshape commits. `fromY` captures each overlay's on-screen Y at * the moment the snapshot was taken, `toY` is computed from the new * geometry. * * AdjustPhase no longer commits geometry. `SpinController._applyReshape` * does that synchronously before the phase runs. The phase's only job is * the tween. */ pinOverlays: PinOverlayTween[]; } /** * Tween-only phase between SPIN and STOP for MultiWays slots. * * The geometry commit (resize symbols, reshape motion) happens in * `SpinController._applyReshape` before this phase runs. AdjustPhase only * tweens any pin overlays from their pre-reshape cell to the new cell. * cell symbols on the strip snap instantly because the reel is still * spinning at full speed when this phase runs (tweening cell scale would * fight the motion layer). * * Inserted into the phase chain ONLY when `builder.multiways(...)` is * called. Non-MultiWays slots never see this phase. * * Plays on top of whatever stop staggering you've configured; duration * is independent of `stopDelay`. */ export declare class AdjustPhase extends ReelPhase { readonly name = "adjust"; readonly skippable = true; private _durationMs; private _ease; private _tween; private _settle; constructor(reel: Reel, speed: SpeedProfile, opts: { durationMs: number; ease?: string; }); protected onEnter(config: AdjustPhaseConfig): void; update(_deltaMs: number): void; protected onSkip(): void; private _snapPinOverlays; } //# sourceMappingURL=AdjustPhase.d.ts.map