/**
 * Contains Needle Engine Core Components.
 *
 * This includes
 * - Interactivity components
 *   {@link DragControls}, {@link SmoothFollow}, {@link Duplicatable}, {@link SpatialTrigger}
 *
 * - Everywhere Actions
 *   {@link SetActiveOnClick}, {@link PlayAnimationOnClick}, {@link PlayAudioOnClick}, {@link ChangeMaterialOnClick}
 * - Camera and user controls
 *   {@link OrbitControls}, {@link CharacterController}
 * - Rendering components
 *   {@link Light}, {@link Renderer}, {@link ParticleSystem}, {@link Volume} (post processing), {@link ReflectionProbe}, {@link GroundProjectedEnv}, {@link ShadowCatcher}
 * - Media components
 *   {@link AudioSource}, {@link VideoPlayer}
 * - Helpers
 *   {@link AxesHelper}, {@link GridHelper}, {@link TransformGizmo}
 * - Asset Management components
 *   {@link DropListener}, {@link SceneSwitcher}, {@link GltfExport}
 * - XR components
 *   {@link WebXR}, {@link USDZExporter}, {@link XRRig}
 * - Networking components
 *   {@link SyncedRoom}, {@link SyncedTransform}, {@link SyncedCamera}, {@link Voip}, {@link ScreenCapture}
 * - Animation components
 *   {@link Animator}, {@link Animation}, {@link PlayableDirector}
 * - Physics components
 *   {@link Rigidbody}, {@link BoxCollider}, {@link SphereCollider}, {@link MeshCollider}, {@link PhysicsMaterial}
 * - Utilities
 *   {@link NeedleMenu}
 * - and more.
 *
 * All these components are available wherever Needle Engine is used.
 *
 * @module Built-in Components
 */
export * from "./codegen/components.js";
export { Collider } from "./Collider.js";
export { Behaviour, Component, GameObject } from "./Component.js";
export { ClearFlags } from "./Camera.js";
export { DragMode } from "./DragControls.js";
export type { DropListenerNetworkEventArguments, DropListenerOnDropArguments } from "./DropListener.js";
export * from "./export/index.js";
export * from "./particlesystem/api.js";
export * from "./postprocessing/index.js";
export { type ISceneEventListener } from "./SceneSwitcher.js";
export * from "./splines/index.js";
export * from "./timeline/index.js";
export * from "./ui/index.js";
export * from "./web/index.js";
export * from "./webxr/index.js";
export * from "./webxr/XRFlag.js";
