import { RaycastEventNode } from '../../Raycast';
import { RaycastCPUVelocityController } from './VelocityController';
import { BaseRaycastController } from './BaseRaycastController';
import { EventContext } from '../../../../../core/event/EventContextType';
export declare class RaycastCPUController extends BaseRaycastController {
    private _node;
    private _cursorArray;
    private _resolvedTargets;
    readonly velocityController: RaycastCPUVelocityController;
    constructor(_node: RaycastEventNode);
    updateMouse(eventContext: EventContext<MouseEvent | DragEvent | PointerEvent | TouchEvent>): void;
    processEvent(context: EventContext<MouseEvent>): void;
    private _plane;
    private _plane_intersect_target;
    private _intersectPlane;
    private _intersections;
    private _intersectGeometry;
    private _resolveIntersectAttribute;
    private _foundPositionTargetParam;
    private _hitPositionArray;
    private _setPositionParam;
    private _prepareRaycaster;
    updateTarget(): void;
    private _updateTargetFromNode;
    private _updateTargetFromSceneGraph;
    static PARAM_CALLBACK_updateTarget(node: RaycastEventNode): void;
}
