import type { Dimensions, QualityLevel } from "../../../core/domain/types.js"; import type { Snowflake } from "../domain/models/winter-models.js"; import { type SnowBandIndices } from "./SnowVolumeRenderer.js"; interface SnowflakeSystemOptions { random?: () => number; createImage?: () => HTMLImageElement; } export declare const createSnowflakeSystem: (options?: SnowflakeSystemOptions) => { initialize: (dimensions: Dimensions, quality: QualityLevel) => Snowflake[]; update: (flakes: Snowflake[], dimensions: Dimensions, frameMultiplier?: number) => Snowflake[]; draw: (flakes: Snowflake[], ctx: CanvasRenderingContext2D, dimensions: Dimensions) => void; adjustToResize: (flakes: Snowflake[], oldDimensions: Dimensions, newDimensions: Dimensions, quality: QualityLevel) => Snowflake[]; setQuality: (quality: QualityLevel) => void; setPointer: (x: number, y: number, active: boolean, pointerType?: string) => void; setReducedMotion: (nextReducedMotion: boolean) => void; triggerGust: (direction?: -1 | 1) => void; getWindStats: () => import("./WinterWindField.js").WinterWindStats; getParallaxStats: () => import("../../../core/services/DepthParallaxTracker.js").DepthParallaxStats; getCursorLightStats: () => import("./WinterCursorLightTracker.js").WinterCursorLightStats; getVolumeStats: () => { powder: number; crystal: number; foreground: number; atlasStatus: import("./SnowVolumeRenderer.js").SnowOpticsStatus; atlasRequests: number; }; getBandIndices: () => SnowBandIndices; cleanup: () => void; }; export {}; //# sourceMappingURL=SnowflakeSystem.d.ts.map