import { RBush3D } from 'rbush-3d/dist'; import { UUID } from '../UUID'; import { GameObject } from '../public/GameObject'; import { Avatar } from '../public/Avatar'; export interface IObjectStore { rtree?: RBush3D; populateChildren(obj: GameObject): void; getObjectsByParent(parentID: number): GameObject[]; shutdown(): void; getObjectsInArea(minX: number, maxX: number, minY: number, maxY: number, minZ: number, maxZ: number): Promise; getObjectByUUID(fullID: UUID): GameObject; getObjectByLocalID(ID: number): GameObject; getNumberOfObjects(): number; getAllObjects(): Promise; setPersist(persist: boolean): void; getAvatar(avatarID: UUID): Avatar; }