import { Vector3, Matrix4, Camera, Euler } from 'three';
import { ScanInformation } from './scan-information';
import { Settings2DViewer, Settings3DViewer } from './sync-settings';
import { Sensor } from './sensor';
import { EventEmitter } from 'events';
import { EulerYXZ } from './eulerYXZ';
export declare class ImageCamera extends EventEmitter {
    poses: Array<Matrix4>;
    normedPositions: Array<Vector3>;
    private _remapCoordinates;
    private _sensorMap;
    private _sensorIds;
    private _camPosesInChunk;
    private _chunkToWorldTransform;
    private _isYupTransformApplied;
    private _additionalRotation;
    init(scanInformation: ScanInformation, isYupTransformApplied: boolean, additionalRotation: Euler): void;
    setIsYupTransformApplied(isYupTransformApplied: boolean): void;
    setAdditionalRotation(additionalRotation: EulerYXZ): void;
    setAxesRemapping(newMapping: Vector3): void;
    getImageSensor(imageIdx: number): Sensor | undefined;
    getCameraPose(imageIdx: number): Matrix4;
    getSyncSettingsOfNextBestImage(viewerCamera: Camera): [Settings2DViewer, Settings3DViewer] | [null, null];
    private _calculateCamPosesInWorldCoor;
}
