import { EventDispatcher, Quaternion, Vector3 } from 'three';
import { IUiConfigContainer, UiObjectConfig } from 'uiconfig.js';
import { ICamera } from '../ICamera';
export interface ICameraView extends IUiConfigContainer {
    name: string;
    position: Vector3;
    target: Vector3;
    quaternion: Quaternion;
    zoom: number;
    isWorldSpace?: boolean;
    animate(camera?: ICamera, duration?: number): void;
    set(camera?: ICamera): void;
    update(camera?: ICamera): void;
    delete(camera?: ICamera): void;
}
export interface CameraViewEventMap {
    setView: {
        camera?: ICamera;
        view: ICameraView;
    };
    animateView: {
        camera?: ICamera;
        duration?: number;
        view: ICameraView;
    };
    updateView: {
        camera?: ICamera;
        view: ICameraView;
    };
    deleteView: {
        camera?: ICamera;
        view: ICameraView;
    };
}
export declare class CameraView extends EventDispatcher<CameraViewEventMap> implements ICameraView, IUiConfigContainer {
    uuid: string;
    name: string;
    position: Vector3;
    target: Vector3;
    quaternion: Quaternion;
    zoom: number;
    isWorldSpace: boolean;
    set: (camera?: ICamera) => void;
    update: (camera?: ICamera) => void;
    delete: (camera?: ICamera) => void;
    animate: (camera?: ICamera, duration?: number) => void;
    constructor(name?: string, position?: Vector3, target?: Vector3, quaternion?: Quaternion, zoom?: number);
    private _nameChanged;
    clone(): CameraView;
    uiConfig?: UiObjectConfig;
}
//# sourceMappingURL=CameraView.d.ts.map