import type { AccessibilitySettings } from "../../../../core/domain/types.js"; import type { Dimensions } from "../../../../core/domain/types.js"; import type { StarConfig, Star, MoonIllumination } from "../../domain/models/cosmic-models.js"; import type { ICosmicCalculationService } from "../contracts/ICosmicCalculationService.js"; export declare class CosmicCalculationService implements ICosmicCalculationService { private observerLatitude; /** * Generate a random float between min and max */ randFloat(min: number, max: number): number; /** * Generate a random integer between min and max (inclusive) */ randInt(min: number, max: number): number; /** * Pick a random item from an array */ randItem(arr: readonly T[]): T; /** * Create a star with randomized properties */ makeStar(dimensions: Dimensions, config: StarConfig, accessibility: AccessibilitySettings): Star; setObserverLatitude(latitude: number): void; getObserverLatitude(): number; /** * Calculate comprehensive moon illumination data. * * This provides: * - Accurate phase position in the lunar cycle * - Illumination fraction * - Waxing/waning state * - Parallactic angle (orientation based on observer's latitude) * - Earthshine intensity (visible during crescent phases) */ getMoonIllumination(date: Date, latitude?: number): MoonIllumination; /** * Calculate parallactic angle - the rotation of the moon based on observer's position. * * This is a simplified calculation that captures the main effect: * - Northern latitudes see the moon oriented one way * - Southern latitudes see it "upside down" * - Near equator, the moon appears tilted */ private calculateParallacticAngle; /** * Calculate earthshine intensity. * * Earthshine is the faint glow on the dark side of the moon * caused by sunlight reflected off Earth. It's most visible * during crescent phases when: * 1. The dark portion of the moon is large (low illumination) * 2. Earth is showing its "full" face to the moon (reflecting max light) */ private calculateEarthshineIntensity; } //# sourceMappingURL=CosmicCalculationService.d.ts.map