import type { IBackgroundSystem } from "../../../core/contracts/IBackgroundSystem.js"; import type { Dimensions, QualityLevel } from "../../../core/domain/types.js"; import type { AccessibilitySettings } from "../../../core/domain/types.js"; import type { RainbowLayers, RainbowStats } from "../domain/models/rainbow-models.js"; import { type PridePalette } from "../domain/constants/rainbow-constants.js"; /** * RainbowBackgroundSystem - Pride celebration background * * A sophisticated background system celebrating LGBTQ+ pride with * flowing rainbow bands, sparkles, bokeh orbs, shimmer effects, * and optional floating hearts. * * Architecture: Composition pattern with dedicated subsystems for each visual layer. */ export declare class RainbowBackgroundSystem implements IBackgroundSystem { private gradientSystem; private bokehSystem; private sparkleSystem; private shimmerSystem; private heartsSystem; private quality; private isInitialized; private dimensions; private accessibility; private currentPalette; private colors; private brightColors; private layerVisibility; constructor(); /** * Initialize the background system */ initialize(dimensions: Dimensions, quality: QualityLevel): void; /** * Update animation state */ update(dimensions: Dimensions, frameMultiplier?: number): void; /** * Draw all layers */ draw(ctx: CanvasRenderingContext2D, dimensions: Dimensions): void; /** * Draw the base dark gradient */ private drawBaseGradient; /** * Set quality level */ setQuality(quality: QualityLevel): void; /** * Set accessibility settings */ setAccessibility(settings: AccessibilitySettings): void; /** * Handle resize */ handleResize(oldDimensions: Dimensions, newDimensions: Dimensions): void; /** * Clean up resources */ cleanup(): void; /** * Set the pride palette */ setPalette(palette: PridePalette): void; /** * Get current palette */ getPalette(): PridePalette; /** * Update colors from current palette */ private updatePaletteColors; /** * Set layer visibility */ setLayerVisibility(layers: Partial): void; /** * Get layer visibility */ getLayerVisibility(): RainbowLayers; /** * Get stats for lab display */ getStats(): RainbowStats; /** * Get available palettes */ getAvailablePalettes(): PridePalette[]; } //# sourceMappingURL=RainbowBackgroundSystem.d.ts.map