import * as THREE from 'three'; import { Editor } from "./editor"; import { EditorControls } from "./controls"; import { PlayerAnimations } from "./player/animation"; import { PlayerEvents } from "./player/event"; import { PlayerTwin } from "./player/twin"; import { Object3D, Vector2, AnimationMixer } from "three"; import { ViewEffectComposer } from "./effect"; export declare namespace MyPlayer { let globalPlayer: AppPlayer; } declare function Player(el: HTMLElement, editor: Editor): HTMLDivElement; export declare class AppPlayer { editor: Editor; renderer: THREE.WebGLRenderer; loader: THREE.ObjectLoader; camera?: THREE.Camera; scene: THREE.Scene; dom: HTMLElement; width: number; height: number; clock: THREE.Clock; mixer: AnimationMixer; time?: number; startTime?: number; prevTime?: number; raycaster: THREE.Raycaster; mouse: THREE.Vector2; events: any; animation: PlayerAnimations; event: PlayerEvents; twin: PlayerTwin; controls?: EditorControls; onUpPosition: THREE.Vector2; onDownPosition: THREE.Vector2; onPosition: THREE.Vector2; isMouseOverModel: boolean; mouseOverModel: Object3D; effectComposer: ViewEffectComposer; constructor(editor: Editor); setScene(scene: THREE.Scene): void; setCamera(value: THREE.Camera): void; setSize(width: number, height: number): void; dispatch(array: any, event: any): void; animate(): void; play(): void; stop(): void; getMousePosition(dom: HTMLElement, x: number, y: number): number[]; render(time: number): void; dispose(): void; onKeyDown(event: KeyboardEvent): void; onKeyUp(event: KeyboardEvent): void; onPointerDown(event: PointerEvent): void; onPointerUp(event: PointerEvent): void; onPointerMove(event: PointerEvent): void; onMouseDown(event: MouseEvent): void; onDoubleClick(event: MouseEvent): void; onMousemove(event: MouseEvent): void; getIntersects(point: Vector2, objects: Object3D[]): THREE.Intersection>[]; load(json: any): void; tweenAnimations(): void; } export { Player };