import { EclipticSphericalCoordinates, EquatorialSphericalCoordinates, LocalHorizontalCoordinates, RectangularCoordinates } from '../../coordinates/types/CoordinateTypes'; import { Location } from '../../earth/types/LocationTypes'; import TimeOfInterest from '../../time/TimeOfInterest'; export interface AstronomicalObjectConstructor { new (toi?: TimeOfInterest): AstronomicalObjectInterface; } export interface AstronomicalObjectInterface { getGeocentricEclipticRectangularJ2000Coordinates(): Promise; getGeocentricEclipticRectangularDateCoordinates(): Promise; getGeocentricEclipticSphericalJ2000Coordinates(): Promise; getGeocentricEclipticSphericalDateCoordinates(): Promise; getGeocentricEquatorialSphericalJ2000Coordinates(): Promise; getGeocentricEquatorialSphericalDateCoordinates(): Promise; getApparentGeocentricEclipticSphericalCoordinates(): Promise; getApparentGeocentricEquatorialSphericalCoordinates(): Promise; getTopocentricEquatorialSphericalCoordinates(location: Location): Promise; getTopocentricHorizontalCoordinates(location: Location): Promise; getApparentTopocentricHorizontalCoordinates(location: Location): Promise; }