import { IEntity, Tag, World } from "miniplex"; import React from "react"; import { Group, InstancedMesh, Object3D, Usage } from "three"; export declare type InstanceComponents = { instance: Tag; transform: Object3D; visible: boolean; }; export declare type InstanceEntity = CustomComponents & InstanceComponents; export declare const makeInstanceComponents: ({ systemFactory, entityFactory, usage }: { entityFactory?: (() => Custom) | undefined; systemFactory?: ((world: World>) => (dt: number) => void) | undefined; usage?: Usage | undefined; }) => { world: World>; useArchetype: (...query: import("miniplex").Query>) => import("miniplex").Archetype, import("miniplex").Query>>; useInstances: (count?: number) => InstanceEntity[]; Root: React.FC<{ name?: string | undefined; type?: string | undefined; id?: number | undefined; visible?: boolean | undefined; clone?: ((recursive?: boolean | undefined) => InstancedMesh) | undefined; copy?: ((source: InstancedMesh, recursive?: boolean | undefined) => InstancedMesh) | undefined; add?: ((...object: Object3D[]) => InstancedMesh) | undefined; clear?: (() => InstancedMesh) | undefined; readonly position?: number | import("three").Vector3 | [x: number, y: number, z: number] | undefined; readonly scale?: number | import("three").Vector3 | [x: number, y: number, z: number] | undefined; dispose?: (() => void) | undefined; toJSON?: ((meta?: { geometries: any; materials: any; textures: any; images: any; } | undefined) => any) | undefined; uuid?: string | undefined; parent?: Object3D | null | undefined; up?: number | import("three").Vector3 | [x: number, y: number, z: number] | undefined; readonly rotation?: import("three").Euler | [x: number, y: number, z: number, order?: string | undefined] | undefined; readonly quaternion?: import("three").Quaternion | [x: number, y: number, z: number, w: number] | undefined; readonly modelViewMatrix?: import("three").Matrix4 | [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number] | undefined; readonly normalMatrix?: import("three").Matrix3 | [n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number] | undefined; matrix?: import("three").Matrix4 | [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number] | undefined; matrixWorld?: import("three").Matrix4 | [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number] | undefined; matrixAutoUpdate?: boolean | undefined; matrixWorldNeedsUpdate?: boolean | undefined; layers?: number | import("three").Layers | undefined; castShadow?: boolean | undefined; receiveShadow?: boolean | undefined; frustumCulled?: boolean | undefined; renderOrder?: number | undefined; animations?: import("three").AnimationClip[] | undefined; userData?: { [key: string]: any; } | undefined; customDepthMaterial?: import("three").Material | undefined; customDistanceMaterial?: import("three").Material | undefined; readonly isObject3D?: true | undefined; onBeforeRender?: ((renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, geometry: import("three").BufferGeometry, material: import("three").Material, group: Group) => void) | undefined; onAfterRender?: ((renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, geometry: import("three").BufferGeometry, material: import("three").Material, group: Group) => void) | undefined; applyMatrix4?: ((matrix: import("three").Matrix4) => void) | undefined; applyQuaternion?: ((quaternion: import("three").Quaternion) => InstancedMesh) | undefined; setRotationFromAxisAngle?: ((axis: import("three").Vector3, angle: number) => void) | undefined; setRotationFromEuler?: ((euler: import("three").Euler) => void) | undefined; setRotationFromMatrix?: ((m: import("three").Matrix4) => void) | undefined; setRotationFromQuaternion?: ((q: import("three").Quaternion) => void) | undefined; rotateOnAxis?: ((axis: import("three").Vector3, angle: number) => InstancedMesh) | undefined; rotateOnWorldAxis?: ((axis: import("three").Vector3, angle: number) => InstancedMesh) | undefined; rotateX?: ((angle: number) => InstancedMesh) | undefined; rotateY?: ((angle: number) => InstancedMesh) | undefined; rotateZ?: ((angle: number) => InstancedMesh) | undefined; translateOnAxis?: ((axis: import("three").Vector3, distance: number) => InstancedMesh) | undefined; translateX?: ((distance: number) => InstancedMesh) | undefined; translateY?: ((distance: number) => InstancedMesh) | undefined; translateZ?: ((distance: number) => InstancedMesh) | undefined; localToWorld?: ((vector: import("three").Vector3) => import("three").Vector3) | undefined; worldToLocal?: ((vector: import("three").Vector3) => import("three").Vector3) | undefined; lookAt?: ((vector: number | import("three").Vector3, y?: number | undefined, z?: number | undefined) => void) | undefined; remove?: ((...object: Object3D[]) => InstancedMesh) | undefined; removeFromParent?: (() => InstancedMesh) | undefined; getObjectById?: ((id: number) => Object3D | undefined) | undefined; getObjectByName?: ((name: string) => Object3D | undefined) | undefined; getObjectByProperty?: ((name: string, value: string) => Object3D | undefined) | undefined; getWorldPosition?: ((target: import("three").Vector3) => import("three").Vector3) | undefined; getWorldQuaternion?: ((target: import("three").Quaternion) => import("three").Quaternion) | undefined; getWorldScale?: ((target: import("three").Vector3) => import("three").Vector3) | undefined; getWorldDirection?: ((target: import("three").Vector3) => import("three").Vector3) | undefined; raycast?: ((raycaster: import("three").Raycaster, intersects: import("three").Intersection>[]) => void) | undefined; traverse?: ((callback: (object: Object3D) => any) => void) | undefined; traverseVisible?: ((callback: (object: Object3D) => any) => void) | undefined; traverseAncestors?: ((callback: (object: Object3D) => any) => void) | undefined; updateMatrix?: (() => void) | undefined; updateMatrixWorld?: ((force?: boolean | undefined) => void) | undefined; updateWorldMatrix?: ((updateParents: boolean, updateChildren: boolean) => void) | undefined; addEventListener?: ((type: T, listener: import("three").EventListener>) => void) | undefined; hasEventListener?: ((type: T_1, listener: import("three").EventListener>) => boolean) | undefined; removeEventListener?: ((type: T_2, listener: import("three").EventListener>) => void) | undefined; dispatchEvent?: ((event: import("three").Event) => void) | undefined; count?: number | undefined; instanceColor?: import("three").InstancedBufferAttribute | null | undefined; instanceMatrix?: import("three").InstancedBufferAttribute | [value: ArrayLike | ArrayBufferView, offset?: number | undefined] | undefined; readonly isInstancedMesh?: true | undefined; getColorAt?: ((index: number, color: import("three").Color) => void) | undefined; getMatrixAt?: ((index: number, matrix: import("three").Matrix4) => void) | undefined; setColorAt?: ((index: number, color: import("three").Color) => void) | undefined; setMatrixAt?: ((index: number, matrix: import("three").Matrix4) => void) | undefined; geometry?: import("three").BufferGeometry | undefined; material?: import("three").Material | import("three").Material[] | undefined; morphTargetInfluences?: number[] | undefined; morphTargetDictionary?: { [key: string]: number; } | undefined; readonly isMesh?: true | undefined; updateMorphTargets?: (() => void) | undefined; } & { attach?: string | undefined; } & { children?: React.ReactNode | (() => JSX.Element); } & { args?: [geometry: import("three").BufferGeometry | undefined, material: import("three").Material | import("three").Material[] | undefined, count: number] | undefined; } & { object?: { dispose?: (() => void) | undefined; } | InstancedMesh | undefined; } & { instanceLimit?: number | undefined; }>; Instance: React.ForwardRefExoticComponent<{ name?: string | undefined; type?: "Group" | undefined; id?: number | undefined; visible?: boolean | undefined; clone?: ((recursive?: boolean | undefined) => Group) | undefined; copy?: ((source: Group, recursive?: boolean | undefined) => Group) | undefined; add?: ((...object: Object3D[]) => Group) | undefined; clear?: (() => Group) | undefined; readonly position?: number | import("three").Vector3 | [x: number, y: number, z: number] | undefined; readonly scale?: number | import("three").Vector3 | [x: number, y: number, z: number] | undefined; toJSON?: ((meta?: { geometries: any; materials: any; textures: any; images: any; } | undefined) => any) | undefined; uuid?: string | undefined; parent?: Object3D | null | undefined; up?: number | import("three").Vector3 | [x: number, y: number, z: number] | undefined; readonly rotation?: import("three").Euler | [x: number, y: number, z: number, order?: string | undefined] | undefined; readonly quaternion?: import("three").Quaternion | [x: number, y: number, z: number, w: number] | undefined; readonly modelViewMatrix?: import("three").Matrix4 | [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number] | undefined; readonly normalMatrix?: import("three").Matrix3 | [n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number] | undefined; matrix?: import("three").Matrix4 | [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number] | undefined; matrixWorld?: import("three").Matrix4 | [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number] | undefined; matrixAutoUpdate?: boolean | undefined; matrixWorldNeedsUpdate?: boolean | undefined; layers?: number | import("three").Layers | undefined; castShadow?: boolean | undefined; receiveShadow?: boolean | undefined; frustumCulled?: boolean | undefined; renderOrder?: number | undefined; animations?: import("three").AnimationClip[] | undefined; userData?: { [key: string]: any; } | undefined; customDepthMaterial?: import("three").Material | undefined; customDistanceMaterial?: import("three").Material | undefined; readonly isObject3D?: true | undefined; onBeforeRender?: ((renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, geometry: import("three").BufferGeometry, material: import("three").Material, group: Group) => void) | undefined; onAfterRender?: ((renderer: import("three").WebGLRenderer, scene: import("three").Scene, camera: import("three").Camera, geometry: import("three").BufferGeometry, material: import("three").Material, group: Group) => void) | undefined; applyMatrix4?: ((matrix: import("three").Matrix4) => void) | undefined; applyQuaternion?: ((quaternion: import("three").Quaternion) => Group) | undefined; setRotationFromAxisAngle?: ((axis: import("three").Vector3, angle: number) => void) | undefined; setRotationFromEuler?: ((euler: import("three").Euler) => void) | undefined; setRotationFromMatrix?: ((m: import("three").Matrix4) => void) | undefined; setRotationFromQuaternion?: ((q: import("three").Quaternion) => void) | undefined; rotateOnAxis?: ((axis: import("three").Vector3, angle: number) => Group) | undefined; rotateOnWorldAxis?: ((axis: import("three").Vector3, angle: number) => Group) | undefined; rotateX?: ((angle: number) => Group) | undefined; rotateY?: ((angle: number) => Group) | undefined; rotateZ?: ((angle: number) => Group) | undefined; translateOnAxis?: ((axis: import("three").Vector3, distance: number) => Group) | undefined; translateX?: ((distance: number) => Group) | undefined; translateY?: ((distance: number) => Group) | undefined; translateZ?: ((distance: number) => Group) | undefined; localToWorld?: ((vector: import("three").Vector3) => import("three").Vector3) | undefined; worldToLocal?: ((vector: import("three").Vector3) => import("three").Vector3) | undefined; lookAt?: ((vector: number | import("three").Vector3, y?: number | undefined, z?: number | undefined) => void) | undefined; remove?: ((...object: Object3D[]) => Group) | undefined; removeFromParent?: (() => Group) | undefined; getObjectById?: ((id: number) => Object3D | undefined) | undefined; getObjectByName?: ((name: string) => Object3D | undefined) | undefined; getObjectByProperty?: ((name: string, value: string) => Object3D | undefined) | undefined; getWorldPosition?: ((target: import("three").Vector3) => import("three").Vector3) | undefined; getWorldQuaternion?: ((target: import("three").Quaternion) => import("three").Quaternion) | undefined; getWorldScale?: ((target: import("three").Vector3) => import("three").Vector3) | undefined; getWorldDirection?: ((target: import("three").Vector3) => import("three").Vector3) | undefined; raycast?: ((raycaster: import("three").Raycaster, intersects: import("three").Intersection>[]) => void) | undefined; traverse?: ((callback: (object: Object3D) => any) => void) | undefined; traverseVisible?: ((callback: (object: Object3D) => any) => void) | undefined; traverseAncestors?: ((callback: (object: Object3D) => any) => void) | undefined; updateMatrix?: (() => void) | undefined; updateMatrixWorld?: ((force?: boolean | undefined) => void) | undefined; updateWorldMatrix?: ((updateParents: boolean, updateChildren: boolean) => void) | undefined; addEventListener?: ((type: T_3, listener: import("three").EventListener) => void) | undefined; hasEventListener?: ((type: T_4, listener: import("three").EventListener) => boolean) | undefined; removeEventListener?: ((type: T_5, listener: import("three").EventListener) => void) | undefined; dispatchEvent?: ((event: import("three").Event) => void) | undefined; readonly isGroup?: true | undefined; } & { attach?: string | undefined; } & { children?: React.ReactNode | (() => JSX.Element); } & { args?: [] | undefined; } & { object?: Group | { dispose?: (() => void) | undefined; } | undefined; } & React.RefAttributes>; ThinInstance: React.FC<{ count?: number | undefined; }>; };