/**
 * @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, Matrix, RadecTopocentric, Radians, Vector, Vector3D } from '../main.js';
import { RandomGaussianSource } from '../operations/RandomGaussianSource.js';
import { Propagator } from '../propagator/Propagator.js';
import { Observation } from './Observation.js';
import { PropagatorPairs } from './PropagatorPairs.js';
export declare class ObservationOptical extends Observation {
    private readonly site_;
    observation: RadecTopocentric;
    private readonly noise_;
    constructor(site_: J2000, observation: RadecTopocentric, noise_?: Matrix);
    get site(): J2000;
    get noise(): Matrix;
    /**
     * Default noise matrix _(right-ascension, declination)_.
     * Based on the Maui Optical Site noise model.
     */
    static readonly defaultNoise: Matrix;
    get epoch(): EpochUTC;
    toVector(): Vector;
    clos(propagator: Propagator): number;
    ricDiff(propagator: Propagator): Vector3D;
    sample(random: RandomGaussianSource, sigma?: number): Observation;
    jacobian(propPairs: PropagatorPairs): Matrix;
    residual(propagator: Propagator): Matrix;
    /**
     * Create a noise matrix from right ascension and declination standard deviantions.
     * @param raSigma Right ascension standard deviation
     * @param decSigma Declination standard deviation
     * @returns Noise matrix
     */
    static noiseFromSigmas(raSigma: Radians, decSigma: Radians): Matrix;
}
