import { Entity, Scene, System } from "aframe"; import { InterfaceController } from "./InterfaceController"; import { DeviceSlot } from "./model/DeviceSlot"; import { Device } from "./Device"; import { Slot } from "./model/Slot"; import { Tool } from "./Tool"; import { Button } from "./model/Button"; import { Stick } from "./model/Stick"; import { Object3D, Vector3 } from "three"; import { SlotListener } from "./SlotListener"; import { AbstractSystemController, SystemControllerDefinition } from "aframe-typescript-boilerplate"; import { InteractionMode } from "./model/InteractionMode"; export declare class InterfaceSystemController extends AbstractSystemController { static DEFINITION: SystemControllerDefinition; private interactionMode; private uiFocus; private selfScale; interfaceEntity: Entity; cameraEntity: Entity; collidables: Object3D[]; private interfaceController; private devices; private tools; private toolNames; private slots; private slotListeners; cameraPosition: Vector3; cameraDirection: Vector3; constructor(system: System, scene: Scene, data: any); init(): void; pause(): void; play(): void; tick(time: number, timeDelta: number): void; getCollidables(): Array; addCollidable(object: Object3D): void; removeCollidable(object: Object3D): void; setInterfaceController(interfaceController: InterfaceController): void; setDevice(slot: DeviceSlot, device: Device): void; getDevice(slot: DeviceSlot): Device | undefined; registerTool(tool: Tool): void; registerSlotListener(slot: Slot, slotListener: SlotListener): void; getTool(name: string): T; slotTool(slot: Slot, tool: Tool): void; getToolAtSlot(slot: Slot): Tool | undefined; buttonUp(device: Device, slot: Slot, button: Button): void; buttonDown(device: Device, slot: Slot, button: Button): void; stickTwist(device: Device, slot: Slot, stick: Stick, x: number, y: number): void; slotNextTool(slot: Slot): void; slotPreviousTool(slot: Slot): void; setSelfScale(selfScale: number): void; getSelfScale(): number; isVrMode(): boolean; isUiFocus(): boolean; setVrMode(vrMode: boolean): void; getInteractionMode(): InteractionMode; setInteractionMode(interactionMode: InteractionMode): void; }