import type { Atmosphere, EarthOrientationParameters, EclipticCoordinate, EquatorialCoordinate, HorizontalCoordinate, Observer } from "../types.js"; export type PlanetName = "mercury" | "venus" | "mars" | "jupiter" | "saturn" | "uranus" | "neptune"; export type SolarSystemBodyName = "sun" | "moon" | PlanetName; export type BodyLimb = "center" | "upper"; export type EventRefraction = "none" | "standard"; export interface EphemerisPosition { readonly body: SolarSystemBodyName; readonly date: Date; readonly equatorial: EquatorialCoordinate; readonly ecliptic: EclipticCoordinate; readonly distanceAu: number; readonly heliocentricDistanceAu?: number; readonly phaseAngleDegrees?: number; readonly illuminatedFraction?: number; readonly angularDiameterArcseconds?: number; readonly model: string; readonly validRange?: readonly [startYear: number, endYear: number]; } export interface SolarSystemObservationOptions { readonly dut1Seconds?: number; readonly earthOrientation?: EarthOrientationParameters; readonly atmosphere?: Atmosphere; readonly applyPolarMotion?: boolean; readonly applyTopocentricParallax?: boolean; readonly applyRefraction?: boolean; } export interface ObservedSolarSystemBody extends EphemerisPosition, HorizontalCoordinate { readonly observer: Observer; readonly geocentricEquatorial: EquatorialCoordinate; readonly topocentricEquatorial: EquatorialCoordinate; readonly topocentricDistanceAu: number; readonly horizontalParallaxDegrees: number; readonly localSiderealTimeDegrees: number; readonly hourAngleDegrees: number; readonly geometricAltitudeDegrees: number; readonly aboveHorizon: boolean; readonly correctionsApplied: readonly string[]; } export interface SolarSystemEvents { readonly body: SolarSystemBodyName; readonly date: Date; readonly limb: BodyLimb; readonly refraction: EventRefraction; readonly effectiveHorizonDegrees: number; readonly rise?: Date; readonly transit?: Date; readonly set?: Date; readonly maximumAltitudeDegrees: number; readonly alwaysAboveHorizon: boolean; readonly alwaysBelowHorizon: boolean; } //# sourceMappingURL=types.d.ts.map