export default Astronomy; /** * Astronomy Utility Class * Provides essential astronomical calculations for sun and moon positions, * and various angular conversions commonly used in prayer time calculations. */ declare class Astronomy { /** * Converts degrees to radians. * @param {number} degrees * @returns {number} */ static toRadians(degrees: number): number; /** * Converts radians to degrees. * @param {number} radians * @returns {number} */ static toDegrees(radians: number): number; /** * Normalizes an angle to the [0, 360) range. * @param {number} angle * @returns {number} */ static normalizeAngle(angle: number): number; /** * Normalizes hours to the [0, 24) range. * @param {number} hours * @returns {number} */ static normalizeHour(hours: number): number; /** * Calculates the Julian date for a given date. * @param {number} year * @param {number} month * @param {number} day * @returns {number} */ static julianDate(year: number, month: number, day: number): number; /** * Calculates the sun’s mean anomaly. * @param {number} daysSinceJ2000 * @returns {number} Mean anomaly in degrees */ static sunMeanAnomaly(daysSinceJ2000: number): number; /** * Calculates the sun’s equation of center. * @param {number} M - Mean anomaly in degrees * @returns {number} */ static sunEquationOfCenter(M: number): number; /** * Calculates the sun’s ecliptic longitude. * @param {number} M - Mean anomaly * @param {number} C - Equation of center * @returns {number} */ static sunEclipticLongitude(M: number, C: number): number; /** * Calculates the sun’s declination. * @param {number} L - Ecliptic longitude in degrees * @returns {number} Declination in degrees */ static sunDeclination(L: number): number; /** * Calculates the equation of time (difference between solar and clock time). * @param {number} M - Mean anomaly * @param {number} L - Ecliptic longitude * @returns {number} Equation of time in hours */ static equationOfTime(M: number, L: number): number; /** * Calculates the hour angle for a given altitude and declination. * @param {number} latitude * @param {number} declination * @param {number} altitude - Sun altitude in degrees * @returns {number} Hour angle in degrees */ static hourAngle(latitude: number, declination: number, altitude: number): number; /** * Calculates solar transit (solar noon). * @param {number} longitude * @param {number} equationOfTime * @returns {number} Solar noon in fractional hours (0–24) */ static solarNoon(longitude: number, equationOfTime: number): number; /** * Calculates sunrise or sunset time. * @param {number} solarNoon * @param {number} hourAngle * @param {boolean} isSunrise - true for sunrise, false for sunset * @returns {number} Time in fractional hours (0–24) */ static sunEventTime(solarNoon: number, hourAngle: number, isSunrise?: boolean): number; }