import { Behaviour } from "../Component.js";
/**
 * The CursorFollow component makes the object follow the cursor (or touch) position on screen.
 *
 * - Example: [Look At Cursor sample](https://engine.needle.tools/samples/look-at-cursor-interactive-3d-header/). This sample combines the CursorFollow component with a LookAt component to create an interactive 3D header that looks at the cursor.
 *
 * @category Web
 * @group Components
 * @component
 */
export declare class CursorFollow extends Behaviour {
    static readonly NAME = "CursorFollow";
    /**
     * Damping for the movement, set to 0 for instant movement
     * @default 0
     */
    damping: number;
    /**
     * When enabled the object will follow the cursor even outside of the needle-engine canvas. This is useful for example for look at effects where you have a small needle-engine element on your page and you want the 3D object to keep looking at the cursor even when it's outside of the canvas.
     * @default true
     */
    useFullPage: boolean;
    /**
     * If true, the initial distance to the camera is maintained when following the cursor.
     * @default true
     */
    keepDistance: boolean;
    /**
     * If true, the object will attempt to snap to the surface of other objects in the scene using a raycast.
     */
    snapToSurface: boolean;
    private _distance;
    updateDistance(force?: boolean): void;
    /** @internal */
    awake(): void;
    /** @internal */
    onEnable(): void;
    /** @internal */
    onDisable(): void;
    private _ndc_x;
    private _ndc_y;
    private _onPointerMove;
    /** @internal */
    lateUpdate(): void;
}
