# Stubs for pysolar.solar (Python 3.6)

import datetime
from typing import List

def solar_test() -> None: ...
def equation_of_time(day:int) -> float: ...
def get_aberration_correction(sun_earth_distance:float) -> float: ...
def get_altitude(latitude_deg:float, longitude_deg:float, when:datetime.datetime, elevation:float = ..., temperature:float = ..., pressure:float = ...) -> float: ...
def get_altitude_fast(latitude_deg:float, longitude_deg:float, when:datetime.datetime) -> float: ...
def get_apparent_sidereal_time(jd:float, jme:float, nutation_float) -> float: ...
def get_apparent_sun_longitude(geocentric_longitude:float, nutation:float, ab_correction:float) -> float: ...
def get_azimuth(latitude_deg:float, longitude_deg:float, when:datetime.datetime, elevation:float = ...) -> float: ...
def get_azimuth_fast(latitude_deg:float, longitude_deg:float, when:datetime.datetime) -> float: ...
def get_coeff(jme:float, coeffs:List[List[float]]) -> float: ...
def get_declination(day:int) -> float: ...
def get_equatorial_horizontal_parallax(sun_earth_distance:float) -> float: ...
def get_flattened_latitude(latitude:float) -> float: ...
def get_geocentric_latitude(jme:float) -> float: ...
def get_geocentric_longitude(jme:float) -> float: ...
def get_geocentric_sun_declination(apparent_sun_longitude:float, true_ecliptic_obliquity:float, geocentric_latitude:float) -> float: ...
def get_geocentric_sun_right_ascension(apparent_sun_longitude:float, true_ecliptic_obliquity:float, geocentric_latitude:float) -> float: ...
def get_heliocentric_latitude(jme:float)  -> float: ...
def get_heliocentric_longitude(jme:float) -> float: ...
def get_hour_angle(when:datetime.datetime, longitude_deg:float) -> float: ...
def get_incidence_angle(topocentric_zenith_angle:float, slope:float, slope_orientation:float, topocentric_azimuth_angle:float) -> float: ...
def get_local_hour_angle(apparent_sidereal_time:float, longitude:float, geocentric_sun_right_ascension:float) -> float: ...
def get_mean_sidereal_time(jd:float) -> float: ...
def get_nutation(jce:float) -> float: ...
def get_parallax_sun_right_ascension(projected_radial_distance:float, equatorial_horizontal_parallax:float, local_hour_angle:float, geocentric_sun_declination:float) -> float: ...
def get_projected_radial_distance(elevation:float, latitude:float) -> float: ...
def get_projected_axial_distance(elevation:float, latitude:float) -> float: ...
def get_sun_earth_distance(jme:float) -> float: ...
def get_refraction_correction(pressure:float, temperature:float, topocentric_elevation_angle:float) -> float: ...
def get_solar_time(longitude_deg:float, when:datetime.datetime) -> float: ...
def get_topocentric_azimuth_angle(topocentric_local_hour_angle:float, latitude:float, topocentric_sun_declination:float) -> float: ...
def get_topocentric_elevation_angle(latitude:float, topocentric_sun_declination:float, topocentric_local_hour_angle:float) -> float: ...
def get_topocentric_local_hour_angle(local_hour_angle:float, parallax_sun_right_ascension:float) -> float: ...
def get_topocentric_sun_declination(geocentric_sun_declination:float, projected_axial_distance:float, equatorial_horizontal_parallax:float, parallax_sun_right_ascension:float, local_hour_angle:float) -> float: ...
def get_topocentric_sun_right_ascension(projected_radial_distance:float, equatorial_horizontal_parallax:float, local_hour_angle:float, apparent_sun_longitude:float, true_ecliptic_obliquity:float, geocentric_latitude:float) -> float: ...
def get_topocentric_zenith_angle(latitude:float, topocentric_sun_declination:float, topocentric_local_hour_angle:float, pressure:float, temperature:float) -> float: ...
def get_true_ecliptic_obliquity(jme:float, nutation:float) -> float: ...
