import type { Dimensions, QualityLevel } from "../../../core/domain/types.js"; import type { IBackgroundSystem } from "../../../core/contracts/IBackgroundSystem.js"; import type { EmberLayers, EmberStats } from "../domain/models/ember-models.js"; import { type HeatIntensity, type DensityPreset } from "../domain/constants/ember-constants.js"; /** * Ember Background System * * Orchestrates four particle subsystems: * - Smoke: Dark, slow-rising particles for depth * - Embers: Glowing orange/amber particles with flicker * - Sparks: Small, bright, fast particles * * Supports heat intensity (affects all subsystems), density presets, * quality levels, layer visibility, and accessibility settings. */ export declare class EmberBackgroundSystem implements IBackgroundSystem { private quality; private heatIntensity; private densityPreset; private isInitialized; private dimensions; private motionMultiplier; private breathingPhase; private readonly breathingPeriod; private readonly breathingAmplitude; private layers; private readonly gradientStops; initialize(dimensions: Dimensions, quality: QualityLevel): void; update(dimensions: Dimensions, frameMultiplier?: number): void; draw(ctx: CanvasRenderingContext2D, dimensions: Dimensions): void; /** * Draw breathing overlay - a warm color wash that pulses visibly * A+ Enhancement: Stronger, more noticeable breathing effect */ private drawBreathingOverlay; /** * Draw a warm radial glow emanating from bottom center */ private drawBottomGlow; /** * Draw a vignette effect (darkens edges, pulses with breathing) * A+ Enhancement: Vignette pulses subtly with the breathing effect */ private drawVignette; setQuality(quality: QualityLevel): void; setAccessibility(settings: { reducedMotion: boolean; highContrast: boolean; }): void; handleResize(oldDimensions: Dimensions, newDimensions: Dimensions): void; cleanup(): void; /** * Set layer visibility */ setLayerVisibility(layers: Partial): void; /** * Get current scene statistics */ getStats(): EmberStats; /** * Set heat intensity level * Affects ember colors, speed, glow, and spark bonus */ setHeatIntensity(intensity: HeatIntensity): void; /** * Set density preset * Multiplies all particle counts */ setDensityPreset(preset: DensityPreset): void; } //# sourceMappingURL=EmberBackgroundSystem.d.ts.map