import { EventEmitter } from 'events';
import { EulerYXZ } from './eulerYXZ';
import { MeasurementTool } from './measurement-tool';
import { Vector3 } from 'three';
import { ViewerElement3D } from './viewer-3d';
import { ViewerElement2D } from './viewer-2d';
export interface ViewerSettings {
    imageRotation: ImageRotationSettings;
    modelOrientation: ModelOrientationSettings;
    measurementTool: MeasurementTool;
    environment3D: EnvironmentSettings;
    viewer3DElement: ViewerElement3D | null;
    viewer2DElement: ViewerElement2D | null;
}
export declare class ModelOrientationSettings extends EventEmitter {
    private _eulerOrientation;
    set xOrientationInRad(angle: number);
    set yOrientationInRad(angle: number);
    set zOrientationInRad(angle: number);
    get eulerOrientationYXZInRad(): EulerYXZ;
}
export declare class ImageRotationSettings extends EventEmitter {
    private _autoRotationAngle;
    private _userSetRotationAngle;
    private _isAutoRotationActivated;
    set autoRotationAngle(angle: number);
    get autoRotationAngle(): number;
    set userSetRotationAngle(angle: number);
    get userSetRotationAngle(): number;
    set isAutoRotationActivated(isActivated: boolean);
    get isAutoRotationActivated(): boolean;
}
export declare class EnvironmentSettings extends EventEmitter {
    private _showAxes;
    private _remapAxes;
    private _backgroundColor;
    private _gradientColor;
    private _applyGradient;
    private _brightness;
    set showAxes(showAxes: boolean);
    get showAxes(): boolean;
    set remapAxes(newAxes: Vector3);
    get remapAxes(): Vector3;
    set backgroundColor(backgroundColor: string);
    get backgroundColor(): [string, string];
    set applyGradient(applyGradient: boolean);
    get applyGradient(): boolean;
    set brightness(brightness: number);
}
