/**
 * @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 { Random, Vector } from '../main.js';
export declare class BoxMuller {
    private _index;
    private _cache;
    mu: number;
    sigma: number;
    rand: Random;
    /**
     * Create a new [BoxMuller] object with mean [mu], standard deviation
     * [sigma], and [seed] number.
     * @param mu Mean value.
     * @param sigma Standard deviation.
     * @param seed Random seed.
     */
    constructor(mu: number, sigma: number, seed?: number);
    _generate(): void;
    /**
     * Generate a gaussian number, with mean [mu] and standard
     * deviation [sigma].
     * @returns A gaussian number.
     */
    nextGauss(): number;
    /**
     * Generate a [Vector] of gaussian numbers, with mean [mu] and standard
     * deviation [sigma].
     * @param n Number of gaussian numbers to generate.
     * @returns A [Vector] of gaussian numbers.
     */
    gaussVector(n: number): Vector;
}
