import type { Dimensions, QualityLevel } from "../../../core/domain/types.js"; import type { IBackgroundSystem } from "../../../core/contracts/IBackgroundSystem.js"; import { type TimeOfDay, type TimeOfDayPreset } from "../domain/constants/time-of-day-presets.js"; import { type MoonConfig } from "../../../core/services/MoonRenderer.js"; /** * Blossom Background System * * Renders cherry blossom petals with three time-of-day modes: * - Twilight: Soft purple-lavender (peaceful, contemplative) * - Golden Hour: Warm orange-pink-gold (nostalgic, warm) * - Night: Deep blue-purple with lanterns (magical, festival) * * All layers are toggleable for experimentation. */ export interface BlossomLayers { gradient: boolean; petals: boolean; petalsFar: boolean; petalsMid: boolean; petalsNear: boolean; trails: boolean; accumulation: boolean; vortex: boolean; moon: boolean; stars: boolean; trees: boolean; lanterns: boolean; reflection: boolean; } export declare class BlossomBackgroundSystem implements IBackgroundSystem { private petalSystem; private windSystem; private petals; private quality; private isInitialized; private lastDimensions; private initializedWithValidDimensions; private currentPreset; private gradientStops; private moonSystem; private starSystem; private treeSystem; private lanternSystem; private layers; constructor(); initialize(dimensions: Dimensions, quality: QualityLevel): void; update(dimensions: Dimensions, frameMultiplier?: number): void; draw(ctx: CanvasRenderingContext2D, dimensions: Dimensions): void; private drawGradient; setQuality(quality: QualityLevel): void; setAccessibility(_settings: { reducedMotion: boolean; highContrast: boolean; }): void; handleResize(oldDimensions: Dimensions, newDimensions: Dimensions): void; cleanup(): void; /** * Set the time of day mode * Updates gradient and auto-enables appropriate layers */ setTimeOfDay(mode: TimeOfDay): void; /** * Get current time of day mode */ getTimeOfDay(): TimeOfDay; /** * Get current preset (for UI theming) */ getCurrentPreset(): TimeOfDayPreset; /** * Set layer visibility */ setLayerVisibility(layers: Partial): void; /** * Get current layer visibility */ getLayerVisibility(): BlossomLayers; /** * Get current scene statistics */ getStats(): { petals: number; flowers: number; lanterns: number; stars: number; }; /** * Trigger a wind gust manually */ triggerGust(direction?: number): void; /** * Get current moon configuration */ getMoonConfig(): Partial; /** * Update moon configuration */ setMoonConfig(config: Partial): void; } //# sourceMappingURL=BlossomBackgroundSystem.d.ts.map