import Vector3 from "../../../../../core/geom/Vector3";
import Vector2 from "../../../../../core/geom/Vector2";
import {Object3D} from "three";

export default class TopDownCameraController {
    public readonly target: Vector3

    public pitch: number
    public yaw: number
    public roll: number

    public distance: number
    public distanceMax: number
    public distanceMin: number

    public equals(other: TopDownCameraController): boolean

    public copy(other: TopDownCameraController): void

    public clone(): TopDownCameraController

    public lerp(a: TopDownCameraController, b: TopDownCameraController, t: number): void

    public setFromEyeAndTarget(eye: Vector3, target: Vector3, up?: Vector3): void

    public toJSON(): any

    public fromJSON(j: any): void

    static pan(delta: Vector2, object: Object3D, element: Element, targetDistance: number, fov: number, result: Vector3, multiplier?: Vector3): void

    static rotate(delta_x: number, delta_y: number, input: TopDownCameraController, output: TopDownCameraController): void
}
