import { PerspCameraSetup, CameraView, OrthoCameraSetup } from "@intelligentgraphics/ig.gfx.support";
import { Controls } from "@intelligentgraphics/ig.gfx.threejs";
import { IViewFrame } from "@intelligentgraphics/ig.gfx.core";
import { CreateCameraParams, ScenePerspective } from "../manager";
export declare const CAMERA_BACK_INDEX = 100;
export declare const CAMERA_FRONT_INDEX = 200;
export interface ICameraOptions {
    sceneContainer: HTMLElement;
    viewFrame: IViewFrame;
    name: string;
    createControl?: boolean;
    remoteControls?: boolean;
    onControlChange?(): void;
}
export declare const createDefaultCameraSetup: ({ perspectives, initialPerspective, container, cameraName2D, cameraName3D, viewFrame, onControlChange, remoteControls }: CreateCameraParams) => Map<ScenePerspective, CameraView>;
export declare const createPerspectiveCamera: ({ sceneContainer, viewFrame, createControl, onControlChange, name, remoteControls }: ICameraOptions) => {
    setup: PerspCameraSetup;
    view: CameraView;
    control: Controls.OrbitControls;
};
export declare const createOrthographicCamera: ({ sceneContainer, viewFrame, createControl, onControlChange, name, remoteControls }: ICameraOptions) => {
    setup: OrthoCameraSetup;
    view: CameraView;
    control: Controls.OrbitControls;
};
