import { IMapCamera } from '../map/IMapService';
export declare const CameraUniform: {
    ProjectionMatrix: string;
    ViewMatrix: string;
    ViewProjectionMatrix: string;
    Zoom: string;
    ZoomScale: string;
    FocalDistance: string;
    CameraPosition: string;
};
export interface IViewport {
    syncWithMapCamera(mapCamera: Partial<IMapCamera>): void;
    getProjectionMatrix(): number[];
    getModelMatrix(): number[];
    getViewMatrix(): number[];
    getViewMatrixUncentered(): number[];
    getViewProjectionMatrixUncentered(): number[];
    getViewProjectionMatrix(): number[];
    getZoom(): number;
    getZoomScale(): number;
    getFocalDistance(): number;
    getCenter(): [number, number];
    projectFlat(lngLat: [number, number], scale?: number | undefined): [number, number];
}
export interface ICameraService extends Omit<IViewport, 'syncWithMapCamera'> {
    init(): void;
    update(viewport: IViewport): void;
    getCameraPosition(): number[];
    setViewProjectionMatrix(viewProjectionMatrix: number[] | undefined): void;
    jitterProjectionMatrix(x: number, y: number): void;
    clearJitterProjectionMatrix(): void;
}
