import { B as BesselianElements } from './BesselianElementTypes-CUm1uNpX.mjs'; interface LocalHorizontalCoordinates { azimuth: number; altitude: number; radiusVector: number; } interface LatLon { lat: number; lon: number; } interface Location extends LatLon { elevation: number; } type Time = { year: number; month: number; day: number; hour: number; min: number; sec: number; }; declare class TimeOfInterest { readonly time: Time; readonly jd: number; readonly jde: number; readonly T: number; constructor(time: Time); static fromCurrentTime(): TimeOfInterest; static fromTime(year: number, month: number, day: number, hour?: number, min?: number, sec?: number): TimeOfInterest; static fromDate(date: Date): TimeOfInterest; static fromYearOfDay(year: number, dayOfYear: number): TimeOfInterest; static fromJulianDay(jd: number): TimeOfInterest; static fromJulianDayEphemeris(jde: number): TimeOfInterest; static fromJulianCenturiesJ2000(T: number): TimeOfInterest; getTime(): Time; getString(): string; getDate(): Date; getDecimalYear(): number; getDayOfYear(): number; getDayOfWeek(): number; isLeapYear(): boolean; getJulianDay(): number; getJulianDay0(): number; getJulianDayEphemeris(): number; getJulianCenturiesJ2000(): number; getJulianCenturiesJ2000Ephemeris(): number; getJulianMillenniaJ2000(): number; getJulianMillenniaJ2000Ephemeris(): number; getGreenwichMeanSiderealTime(): number; getGreenwichApparentSiderealTime(): number; getLocalMeanSiderealTime(location: LatLon): number; getLocalApparentSiderealTime(location: LatLon): number; getDeltaT(): number; } declare enum SolarEclipseType { Partial = "partial", Total = "total", Annular = "annular", Hybrid = "hybrid" } declare enum LocalSolarEclipseType { None = "none", Partial = "partial", Total = "total", Annular = "annular" } interface ShadowPathOptions { refraction?: boolean; stepsInSeconds?: number; } declare class LocalEclipseCircumstances { private readonly elements; private readonly location; private readonly tau; private readonly circumstances; private constructor(); static create(elements: BesselianElements, location: Location, toi: TimeOfInterest): LocalEclipseCircumstances; getEclipseType(): LocalSolarEclipseType; isInEclipse(): boolean; isInCentralEclipse(): boolean; getUmbraShadowOutline(options?: ShadowPathOptions): Array | null; getMagnitude(): number; getObscuration(): number; getTopocentricHorizontalCoordinates(): LocalHorizontalCoordinates; getApparentTopocentricHorizontalCoordinates(): LocalHorizontalCoordinates; } interface EclipseContacts { c1: number; c2: number | null; max: number; c3: number | null; c4: number; sunrise: number | null; sunset: number | null; } interface EclipseContactsToi { c1: TimeOfInterest; c2: TimeOfInterest | null; max: TimeOfInterest; c3: TimeOfInterest | null; c4: TimeOfInterest; sunrise: TimeOfInterest | null; sunset: TimeOfInterest | null; } declare class LocalSolarEclipse { private readonly elements; private readonly location; private readonly contactTaus; private readonly greatestEclipseTau; private readonly greatestEclipseCircumstances; private constructor(); static create(elements: BesselianElements, location: Location): LocalSolarEclipse; getCircumstances(toi: TimeOfInterest): LocalEclipseCircumstances; getType(): LocalSolarEclipseType; getContactTaus(): EclipseContacts | null; getContactTimes(): EclipseContactsToi | null; getMaxMagnitude(): number; getMaxMoonSunRatio(): number; getMaxObscuration(): number; getUmbraPathWidth(): number; getDuration(): number; getCentralDuration(): number; } declare class SolarEclipse { private readonly elements; private readonly locationOfGreatestEclipse; private readonly tauOfGreatestEclipse; private readonly greatestEclipseCircumstances; private constructor(); static createFromBesselianElements(elements: BesselianElements): SolarEclipse; getLocalEclipse(location: Location): LocalSolarEclipse; getType(): SolarEclipseType; getSaros(): number; getLocationOfGreatestEclipse(): LatLon; getTimeOfGreatestEclipse(): TimeOfInterest; getGamma(): number; getMaxMagnitude(): number; getMaxMoonSunRatio(): number; getMaxObscuration(): number; getUmbraPathWidth(): number; getMaxDuration(): number; getMaxCentralDuration(): number; getCentralLine(options?: ShadowPathOptions): Array; getUmbraPathPolygon(options?: ShadowPathOptions): Array; getPenumbraPathPolygon(options?: ShadowPathOptions): Array; getSunriseBoundaryPolygon(options?: ShadowPathOptions): Array; getSunsetBoundaryPolygon(options?: ShadowPathOptions): Array; } declare function parseBesselianElements(raw: Array): BesselianElements; export { LocalEclipseCircumstances, LocalSolarEclipse, SolarEclipse, parseBesselianElements };