import { SunTimesParams, SunTimesRangeParams, SunPositionParams, NextSunEventParams } from '../interfaces/sun.js';
import { SunTimesInfo, SunPositionInfo } from '../types/sun.js';
/**
 * Service for sun calculations
 */
export declare class SunService {
    /**
     * Get sun times for a specific date and location
     * @param params Parameters for the request
     * @returns Sun times information
     */
    getSunTimes(params: SunTimesParams): SunTimesInfo;
    /**
     * Get sun times for a date range
     * @param params Parameters for the request
     * @returns Array of sun times information
     */
    getSunTimesRange(params: SunTimesRangeParams): SunTimesInfo[];
    /**
     * Get sun position for a specific date, time, and location
     * @param params Parameters for the request
     * @returns Sun position information
     */
    getSunPosition(params: SunPositionParams): SunPositionInfo;
    /**
     * Get the next occurrence(s) of a specific sun event
     * @param params Parameters for the request
     * @returns Array of dates for the next occurrences of the specified event
     */
    getNextSunEvent(params: NextSunEventParams): {
        date: string;
        time: string;
        event: string;
    }[];
    /**
     * Calculate approximate equatorial coordinates (right ascension and declination)
     * from horizontal coordinates (azimuth and altitude)
     * Note: This is a simplified calculation and may not be precise
     * @param date Date of observation
     * @param azimuth Azimuth in radians
     * @param altitude Altitude in radians
     * @param latitude Observer's latitude
     * @param longitude Observer's longitude
     * @returns Approximate equatorial coordinates
     */
    private calculateEquatorialCoordinates;
    /**
     * Calculate approximate local sidereal time
     * @param date Date of observation
     * @param longitude Observer's longitude
     * @returns Local sidereal time in radians
     */
    private calculateLocalSiderealTime;
    /**
     * Calculate Julian day from date
     * @param date Date to convert
     * @returns Julian day
     */
    private calculateJulianDay;
}
