import type { Dimensions } from "../../../core/domain/types.js"; export interface WinterWindVector { x: number; y: number; } export interface WinterWindStats { gustActive: boolean; gustProgress: number; pointerSpeed: number; } interface WinterWindFieldOptions { seed?: number; random?: () => number; } /** * Produces one continuous velocity field for the winter snow. * * Neighboring flakes sample neighboring parts of the same field, so a gust * reads as weather crossing the screen instead of hundreds of unrelated * particles changing direction at once. */ export declare class WinterWindField { private readonly noise; private readonly random; private time; private framesUntilGust; private reducedMotion; private gust; private pointer; private pointerWakes; private nextPointerWakeSpin; constructor(options?: WinterWindFieldOptions); initialize(): void; update(frameMultiplier?: number): void; sample(x: number, y: number, depth: number, dimensions: Dimensions): WinterWindVector; setPointer(x: number, y: number, active: boolean): void; setReducedMotion(reducedMotion: boolean): void; triggerGust(direction?: -1 | 1): void; getStats(): WinterWindStats; private samplePointerWake; private randomRange; } export {}; //# sourceMappingURL=WinterWindField.d.ts.map