import { IControlBase, IViewPort, CameraTransform, ThirdPersonViewPort, RoamingSetting } from '../Types'; import * as BABYLON from '@babylonjs/core'; import { CameraControl } from '../CameraControl'; import { Viewer } from '../Viewer'; declare class CharacterControl extends BABYLON.ArcRotateCamera implements IControlBase { CameraControl: CameraControl; Viewer: Viewer; static ControlType: string; private character; private MoveSpeed; private RotationSpeed; constructor(cameraControl: CameraControl, name: string); getControlType(): string; getClassName(): string; getViewPort(): ThirdPersonViewPort; setViewPort(vp: IViewPort, animation: boolean): void; zoomObjectToFit(obj: String | BABYLON.TransformNode | BABYLON.AbstractMesh): void; zoomObjectsToFit(meshes: BABYLON.AbstractMesh[], animation: boolean): void; private static _characterName; private _characterHandlerAttached; private _actionEnable; static hideCharacter(scene: BABYLON.Scene): void; private attachCharacterHandler; private characterCheck; private characterPoint; attachControl(): void; detachControl(): void; setTransform(transform: CameraTransform): void; static addShadowCaster(scene: BABYLON.Scene, shadowGen: BABYLON.ShadowGenerator): void; Roaming: boolean; static roamingAnimationName: string; private _roamingPath; _roamingSetting: RoamingSetting; setRoamingSetting(limit: RoamingSetting): void; setRoamingPath(points: BABYLON.Vector3[]): void; setRoamingPathVisibility(visibility: boolean): void; restartRoaming(loop?: boolean): void; startRoaming(loop?: boolean, speed?: number): void; pauseRoaming(): void; stopRoaming(): void; } export { CharacterControl };