import type { AccessibilitySettings, Dimensions, QualityLevel } from "../../../core/domain/types.js"; import type { IBackgroundSystem } from "../../../core/contracts/IBackgroundSystem.js"; export declare class CosmicBackgroundSystem implements IBackgroundSystem { private quality; private isInitialized; private lastDimensions; private renderingService; private configurationService; private calculationService; private geoLocationProvider; private parallaxStarSystem; private nebulaSystem; private proceduralNebulaSystem; private constellationSystem; private ufoSystem; private cometSystem; private milkyWaySystem; private milkyWayParticleSystem; private auroraSystem; private shootingStarSystem; private shootingStarState; private cfg; private Q; private a11y; private constructor(); static create(): CosmicBackgroundSystem; initialize(dim: Dimensions, q: QualityLevel): void; update(dim: Dimensions, frameMultiplier?: number): void; draw(ctx: CanvasRenderingContext2D, dim: Dimensions): void; setQuality(q: QualityLevel): void; setAccessibility(s: AccessibilitySettings): void; /** * Control visibility of individual layers (for Cosmic Lab) */ setLayerVisibility(layers: { stars?: boolean; nebula?: boolean; aurora?: boolean; milkyWay?: boolean; meteors?: boolean; comets?: boolean; ufo?: boolean; }): void; /** * Manually trigger a meteor (shooting star) to appear */ triggerMeteor(): void; /** * Manually trigger a comet to appear */ triggerComet(): void; /** * Check if a comet is currently visible */ isCometActive(): boolean; /** * Manually trigger UFO to appear (Easter egg) * Auto-enables UFO layer if not already enabled */ triggerUFO(): void; /** * Check if UFO is currently visible */ isUFOActive(): boolean; /** * Get current UFO state for UI display */ getUFOState(): string | null; commandUFOScanStar(): boolean; commandUFOScanGround(): void; commandUFOPause(): void; commandUFOWander(): void; commandUFODrift(): void; commandUFOExit(): void; /** * Trigger UFO with specific entrance animation */ triggerUFOWithEntrance(entranceType: import("./UFOSystem.js").UFOEntranceType): void; /** * Command UFO to exit with specific animation */ commandUFOExitWith(exitType: import("./UFOSystem.js").UFOExitType): void; /** * Get available entrance types for UI */ getUFOEntranceTypes(): import("./UFOSystem.js").UFOEntranceType[]; /** * Get available exit types for UI */ getUFOExitTypes(): import("./UFOSystem.js").UFOExitType[]; /** * Get current UFO entrance/exit types */ getUFOEntranceExitTypes(): { entrance: import("./UFOSystem.js").UFOEntranceType; exit: import("./UFOSystem.js").UFOExitType; } | null; /** * Handle click on canvas - UFO may react * @param clickX - Click X position in canvas coordinates * @param clickY - Click Y position in canvas coordinates * @returns true if UFO reacted to the click */ handleCanvasClick(clickX: number, clickY: number): boolean; /** * Get current UFO mood */ getUFOMood(): import("./UFOSystem.js").UFOMood | null; /** * Get UFO tiredness level (0-1) */ getUFOTiredness(): number | null; /** * Set UFO mood externally */ setUFOMood(mood: import("./UFOSystem.js").UFOMood): void; /** * Reset UFO tiredness to 0 (for testing) */ resetUFOTiredness(): void; /** * Get count of scanned stars in UFO's memory */ getUFOScannedStarsCount(): number; /** * Clear UFO's memory of scanned stars */ clearUFOScannedStars(): void; /** * Trigger UFO wobble animation (for testing) */ triggerUFOWobble(type: import("./UFOSystem.js").WobbleType): void; /** * Get UFO heading in radians */ getUFOHeading(): number | null; /** * Get UFO position for UI display */ getUFOPosition(): { x: number; y: number; } | null; private layerVisibility; /** * Handle viewport resize by adapting star systems to new dimensions */ handleResize(_oldDimensions: Dimensions, newDimensions: Dimensions): void; cleanup(): void; private getOptimizedConfig; } //# sourceMappingURL=CosmicBackgroundSystem.d.ts.map