import { Component } from "@wonderlandengine/api"; /** #WARN This class is not actually a `Cursor`, but since it triggers `CursorTarget` emitters, it needs to forward a `Cursor` to them As of now, this class forward a fake cursor as `Cursor`, which is a plain object with just the info usually need, like the `handedness` value */ export declare class OverlapCursorComponent extends Component { static TypeName: string; /** * This is useful if you want to avoid the cursor entering and exiting the target when very close to the target, * due to it flickering between inside and outside. * You can scale the collision up a bit so that it needs to move a bit outside to actually exit, so that it will not collide * * #WARN When using a `PhysXComponent` sadly this require to active and deactivate it to update the extents, which triggers a collision end and a start * This is not an issue for the cursor, but if you use the same `PhysXComponent` for other queries, you might have issues due to this */ private readonly _myCollisionSizeMultiplierOnOverlap; private readonly _myValidOverlapAngleFromTargetForward; private _myLastTarget; private _myPhysXComponent; private _myPhysicsCollisionCollector; private readonly _myPhysXComponentExtents; private _myCollisionComponent; private readonly _myCollisionComponentExtents; private readonly _myFakeCursor; private readonly _myCursorPositionHistory; private readonly _myInvalidOverlapCursorTargets; private _myDoubleClickTimer; private _myTripleClickTimer; private _myMultipleClickObject; private static readonly _myMultipleClickDelay; private static _SV; init(): void; start(): void; update(dt: number): void; onActivate(): void; onDeactivate(): void; private _targetOverlapStart; private _targetOverlapEnd; private _pickBestCursorTarget; private static _isOverlapAngleValidSV; private _isOverlapAngleValid; }