import { PerspectiveCamera } from "three";
import { WebglScene } from "./scene";
import { AnimationActions, CameraPosition, DTCamera, MoveOptions } from "../interface/camera";
import { BaseAnimation } from "../core/animation";
import { DTVector3 } from "../interface/model";
export type CameraOptions = {
    fov?: number;
    aspect?: number;
    near?: number;
    far?: number;
    position?: DTVector3;
    target?: DTVector3;
    autoAdjust?: boolean;
};
export declare function createDefaultCameraOptions(): {
    aspect: number;
    fov: number;
    near: number;
    far: number;
    position: {
        x: number;
        y: number;
        z: number;
    };
    target: {
        x: number;
        y: number;
        z: number;
    };
    autoAdjust: boolean;
};
export type AdjustOptions = {
    distance?: number;
    duration?: number;
    phi?: number;
    theta?: number;
    route?: "none" | "spherical";
};
export type WebglCamera = {
    moveAlong(position: CameraPosition[], options?: MoveOptions): AnimationActions;
    adjust(options?: AdjustOptions): BaseAnimation;
} & DTCamera & PerspectiveCamera;
export default function createCamera(options: CameraOptions | undefined, scene: WebglScene): WebglCamera;
