import '../../assert/js/assert.js';
import '../../globals.js';
import Plane3 from './Plane3.js';
import Vector3 from './Vector3.js';
export default class Ray3 {
    position: Vector3;
    direction: Vector3;
    /**
     * Constructs a 3D ray using the supplied origin position and unit length direction vector
     *
     * @param position - the ray's point of origin
     * @param direction - the ray's unit direction vector
     */
    constructor(position: Vector3, direction: Vector3);
    /**
     * Returns a new Ray that has it origin shifted to a position given by an amount distance*this.direction.
     */
    shifted(distance: number): Ray3;
    /**
     * Returns a position that is a distance 'distance' along the ray.
     */
    pointAtDistance(distance: number): Vector3;
    /**
     * Returns the distance of this ray to a plane
     */
    distanceToPlane(plane: Plane3): number;
    /**
     * Returns the attributes of this ray into a string
     */
    toString(): string;
}
//# sourceMappingURL=Ray3.d.ts.map