import { EclipticSphericalCoordinates, EquatorialSphericalCoordinates, LocalHorizontalCoordinates, RectangularCoordinates } from '../coordinates/types/CoordinateTypes'; import { Location } from '../earth/types/LocationTypes'; import { Conjunction } from '../planets/types/PlanetTypes'; import TimeOfInterest from '../time/TimeOfInterest'; import { AstronomicalObjectConstructor, AstronomicalObjectInterface } from './interfaces/AstronomicalObjectInterfaces'; export default abstract class AstronomicalObject implements AstronomicalObjectInterface { protected readonly toi: TimeOfInterest; readonly name: string; protected readonly jd: number; protected readonly jd0: number; protected readonly T: number; protected readonly t: number; protected constructor(toi?: TimeOfInterest, name?: string); getTimeOfInterest(): TimeOfInterest; abstract getHeliocentricEclipticRectangularJ2000Coordinates(): Promise; abstract getHeliocentricEclipticRectangularDateCoordinates(): Promise; abstract getHeliocentricEclipticSphericalJ2000Coordinates(): Promise; abstract getHeliocentricEclipticSphericalDateCoordinates(): Promise; abstract getGeocentricEclipticRectangularJ2000Coordinates(): Promise; abstract getGeocentricEclipticRectangularDateCoordinates(): Promise; abstract getGeocentricEclipticSphericalJ2000Coordinates(): Promise; abstract getGeocentricEclipticSphericalDateCoordinates(): Promise; getGeocentricEquatorialSphericalJ2000Coordinates(): Promise; getGeocentricEquatorialSphericalDateCoordinates(): Promise; getApparentGeocentricEclipticRectangularCoordinates(): Promise; abstract getApparentGeocentricEclipticSphericalCoordinates(): Promise; getApparentGeocentricEquatorialSphericalCoordinates(): Promise; getTopocentricEquatorialSphericalCoordinates(location: Location): Promise; getTopocentricHorizontalCoordinates(location: Location): Promise; getApparentTopocentricHorizontalCoordinates(location: Location): Promise; getDistanceToEarth(): Promise; getApparentDistanceToEarth(): Promise; getTopocentricDistanceToEarth(location: Location): Promise; getLightTime(): Promise; getConjunctionInRightAscensionTo(astronomicalObjectConstructor: AstronomicalObjectConstructor): Promise; getConjunctionInLongitudeTo(astronomicalObjectConstructor: AstronomicalObjectConstructor): Promise; }