import { SphericalPosition3D } from '@tubular/math';
import { IAstroDataService } from './i-astro-data.service';
import { OrbitalElements } from './solar-system';
export declare class ObjectInfo {
    name: string;
    menuName: string;
    shortMenuName: string;
    id: number;
    epoch: number;
    hasMag: boolean;
    asteroid: boolean;
    a: number;
    q: number;
    e: number;
    i: number;
    ω: number;
    L: number;
    Tp: number;
    n: number;
    H: number;
    G: number;
    convergenceFails: boolean;
    cfMin: number;
    cfMax: number;
    prev: ObjectInfo;
    next: ObjectInfo;
    toString(): string;
}
export declare class AdditionalOrbitingObjects {
    private static properlyInitialized;
    private static lastAsteroidId;
    private static lastCometId;
    private static objects;
    private static objectIds;
    static getAdditionalOrbitingObjects(astroDataService: IAstroDataService): Promise<AdditionalOrbitingObjects>;
    private static readElements;
    getObjectCount(): number;
    getObjectNames(forMenu?: boolean, shortMenuNames?: boolean): string[];
    getAsteroidCount(): number;
    getCometCount(): number;
    getObjectName(bodyID: number): string;
    getObjectByName(name: string): number;
    protected getObjectInfo(bodyID: number, time_JDE?: number): ObjectInfo;
    getMagnitudeParameters(bodyID: number): number[];
    getOrbitalElements(bodyID: number, time_JDE: number): OrbitalElements;
    getHeliocentricPosition(objectInfoOrBodyId: ObjectInfo | number, time_JDE: number, doNotConverge?: boolean): SphericalPosition3D;
    protected static failedToConverge(code: number, oi: ObjectInfo, time_JDE: number): void;
    protected static kepler(ecc: number, meanAnomaly: number): number;
    protected static keplerH(ecc: number, meanAnomaly: number): number;
}
//# sourceMappingURL=additional-orbiting-objects.d.ts.map