import 'reflect-metadata';
import { ICameraService, IViewport } from './ICameraService';
export default class CameraService implements ICameraService {
    private viewport;
    /**
     * 不使用 Viewport 计算的 VP 矩阵，例如偏移坐标系场景
     */
    private overridedViewProjectionMatrix;
    /**
     * 抖动后的 VP 矩阵
     */
    private jitteredViewProjectionMatrix;
    /**
     * 抖动后的 Projection 矩阵
     */
    private jitteredProjectionMatrix;
    /**
     * ViewMatrix 逆矩阵，用于计算相机位置
     */
    private viewMatrixInverse;
    /**
     * 相机位置
     */
    private cameraPosition;
    init(): void;
    /**
     * 同步根据相机参数创建的视口
     */
    update(viewport: IViewport): void;
    getProjectionMatrix(): number[];
    getModelMatrix(): number[];
    getViewMatrix(): number[];
    getViewMatrixUncentered(): number[];
    getViewProjectionMatrixUncentered(): number[];
    getViewProjectionMatrix(): number[];
    getZoom(): number;
    getZoomScale(): number;
    getCenter(): [number, number];
    getFocalDistance(): number;
    getCameraPosition(): number[];
    projectFlat(lngLat: [number, number], scale?: number | undefined): [number, number];
    /**
     * 支持外部计算 VP 矩阵的场景，例如：在偏移坐标系场景中，需要重新计算 VP 矩阵
     */
    setViewProjectionMatrix(viewProjectionMatrix: number[] | undefined): void;
    jitterProjectionMatrix(x: number, y: number): void;
    clearJitterProjectionMatrix(): void;
}
