/**
 * @author @thkruz Theodore Kruczek
 * @license AGPL-3.0-or-later
 * @copyright (c) 2025 Kruczek Labs LLC
 *
 * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
 * terms of the GNU Affero General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later version.
 *
 * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License along with
 * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
 */
import { EpochUTC, J2000, Kilometers, Vector3D } from '../main.js';
export declare class LambertIOD {
    mu: number;
    constructor(mu?: number);
    /**
     * Try to guess the short path argument given an [interceptor] and
     * [target] state.
     * @param interceptor Interceptor
     * @param target Target
     * @returns True if the short path should be used, false otherwise.
     */
    static useShortPath(interceptor: J2000, target: J2000): boolean;
    private static timeOfFlight_;
    /**
     * Attempt to solve output velocity [v1] _(km/s)_ given radii [r1] and
     * [r2] _(canonical)_, sweep angle [dth] _(rad)_, time of flight [tau]
     * _(canonical)_, and number of revolutions _(mRev)_.
     * @param r1 Radius 1
     * @param r2 Radius 2
     * @param dth Sweep angle
     * @param tau Time of flight
     * @param mRev Number of revolutions
     * @param v1 Output velocity
     * @returns True if successful, false otherwise.
     */
    static solve(r1: number, r2: number, dth: number, tau: number, mRev: number, v1: Float64Array): boolean;
    /**
     * Estimate a state vector for inertial position [p1] _(km)_ given the
     * two epoch and positions.
     * @param p1 Position vector 1
     * @param p2 Position vector 2
     * @param t1 Epoch 1
     * @param t2 Epoch 2
     * @param root0 Optional parameters
     * @param root0.posigrade If true, use the positive root (default: true)
     * @param root0.nRev Number of revolutions (default: 0)
     * @returns A [J2000] object with the estimated state vector.
     */
    estimate(p1: Vector3D<Kilometers>, p2: Vector3D<Kilometers>, t1: EpochUTC, t2: EpochUTC, { posigrade, nRev }?: {
        posigrade?: boolean;
        nRev?: number;
    }): J2000 | null;
}
