import { Ray, Plane, Vector3, Box3, Sphere, Object3D, Intersection } from 'three';
import { ObjectNamedFunction3, NamedFunction2, NamedFunction3 } from './_Base';
export declare class raySet extends NamedFunction3<[Vector3, Vector3, Ray]> {
    static type(): string;
    func(origin: Vector3, direction: Vector3, target: Ray): Ray;
}
export declare class rayFromCamera extends ObjectNamedFunction3<[number, number, Ray]> {
    static type(): string;
    private _getDefaultCamera;
    func(object3D: Object3D, x: number, y: number, target: Ray): Ray;
}
export declare class getRayOrigin extends NamedFunction2<[Ray, Vector3]> {
    static type(): string;
    func(ray: Ray, target: Vector3): Vector3;
}
export declare class getRayDirection extends NamedFunction2<[Ray, Vector3]> {
    static type(): string;
    func(ray: Ray, target: Vector3): Vector3;
}
export declare class rayIntersectBox3 extends NamedFunction3<[Ray, Box3, Vector3]> {
    static type(): string;
    func(ray: Ray, box: Box3, target: Vector3): Vector3;
}
export declare class rayIntersectsBox3 extends NamedFunction2<[Ray, Box3]> {
    static type(): string;
    func(ray: Ray, box: Box3): boolean;
}
export declare class rayIntersectObject3D extends NamedFunction3<[Ray, Object3D, boolean]> {
    static type(): string;
    func(ray: Ray, object3D: Object3D, recursive: boolean): Intersection;
}
export declare class rayIntersectsObject3D extends NamedFunction3<[Ray, Object3D, boolean]> {
    static type(): string;
    func(ray: Ray, object3D: Object3D, recursive: boolean): boolean;
}
export declare class rayIntersectPlane extends NamedFunction3<[Ray, Plane, Vector3]> {
    static type(): string;
    func(ray: Ray, plane: Plane, target: Vector3): Vector3;
}
export declare class rayIntersectsPlane extends NamedFunction2<[Ray, Plane]> {
    static type(): string;
    func(ray: Ray, plane: Plane): boolean;
}
export declare class rayDistanceToPlane extends NamedFunction2<[Ray, Plane]> {
    static type(): string;
    func(ray: Ray, plane: Plane): number;
}
export declare class rayIntersectSphere extends NamedFunction3<[Ray, Sphere, Vector3]> {
    static type(): string;
    func(ray: Ray, sphere: Sphere, target: Vector3): Vector3;
}
export declare class rayIntersectsSphere extends NamedFunction2<[Ray, Sphere]> {
    static type(): string;
    func(ray: Ray, sphere: Sphere): boolean;
}
