import { IEventEmitter } from "@inweb/eventemitter2";
import { CameraMode, IOptions, RGB } from "./IOptions";
export declare class Options implements IOptions {
    protected _emitter?: IEventEmitter;
    protected _data: IOptions;
    constructor(emitter?: IEventEmitter);
    static defaults(): IOptions;
    change(): void;
    saveToStorage(): void;
    loadFromStorage(): void;
    /**
     * Resets options to default values.
     *
     * @param fields - Name of fields to be reset. Specify `undefined` to reset all.
     */
    resetToDefaults(fields?: string[]): void;
    setProperty<K extends keyof IOptions>(key: K, value?: IOptions[K]): void;
    get data(): IOptions;
    set data(value: Partial<IOptions>);
    get showWCS(): boolean;
    set showWCS(value: boolean);
    get cameraAnimation(): boolean;
    set cameraAnimation(value: boolean);
    get antialiasing(): boolean | string;
    set antialiasing(value: boolean | string);
    get groundShadow(): boolean;
    set groundShadow(value: boolean);
    get shadows(): boolean;
    set shadows(value: boolean);
    get cameraAxisXSpeed(): number;
    set cameraAxisXSpeed(value: number);
    get cameraAxisYSpeed(): number;
    set cameraAxisYSpeed(value: number);
    get ambientOcclusion(): boolean;
    set ambientOcclusion(value: boolean);
    get enableStreamingMode(): boolean;
    set enableStreamingMode(value: boolean);
    get enablePartialMode(): boolean;
    set enablePartialMode(value: boolean);
    get memoryLimit(): number;
    set memoryLimit(value: number);
    get cuttingPlaneFillColor(): RGB;
    set cuttingPlaneFillColor(value: RGB);
    get enableSectionFill(): boolean;
    set enableSectionFill(value: boolean);
    get sectionFillColor(): {
        r: number;
        g: number;
        b: number;
    };
    set sectionFillColor(value: {
        r: number;
        g: number;
        b: number;
    });
    get sectionUseObjectColor(): boolean;
    set sectionUseObjectColor(value: boolean);
    get enableSectionHatch(): boolean;
    set enableSectionHatch(value: boolean);
    get sectionHatchColor(): {
        r: number;
        g: number;
        b: number;
    };
    set sectionHatchColor(value: {
        r: number;
        g: number;
        b: number;
    });
    get sectionHatchScale(): number;
    set sectionHatchScale(value: number);
    get enableSectionOutline(): boolean;
    set enableSectionOutline(value: boolean);
    get sectionOutlineColor(): {
        r: number;
        g: number;
        b: number;
    };
    set sectionOutlineColor(value: {
        r: number;
        g: number;
        b: number;
    });
    get sectionOutlineWidth(): number;
    set sectionOutlineWidth(value: number);
    get edgesColor(): {
        r: number;
        g: number;
        b: number;
    };
    set edgesColor(value: {
        r: number;
        g: number;
        b: number;
    });
    get facesColor(): {
        r: number;
        g: number;
        b: number;
    };
    set facesColor(value: {
        r: number;
        g: number;
        b: number;
    });
    get edgesVisibility(): boolean;
    set edgesVisibility(value: boolean);
    get edgesOverlap(): boolean;
    set edgesOverlap(value: boolean);
    get facesOverlap(): boolean;
    set facesOverlap(value: boolean);
    get facesTransparancy(): number;
    set facesTransparancy(value: number);
    get enableCustomHighlight(): boolean;
    set enableCustomHighlight(value: boolean);
    get sceneGraph(): boolean;
    set sceneGraph(value: boolean);
    get edgeModel(): boolean;
    set edgeModel(value: boolean);
    get reverseZoomWheel(): boolean;
    set reverseZoomWheel(value: boolean);
    get enableZoomWheel(): boolean;
    set enableZoomWheel(value: boolean);
    get enableGestures(): boolean;
    set enableGestures(value: boolean);
    get geometryType(): string;
    set geometryType(value: string);
    get rulerUnit(): string;
    set rulerUnit(value: string);
    get rulerPrecision(): "Default" | "Auto" | number;
    set rulerPrecision(value: "Default" | "Auto" | number);
    get cameraMode(): CameraMode;
    set cameraMode(value: CameraMode);
    get snapshotMimeType(): string;
    set snapshotMimeType(value: string);
    get snapshotQuality(): number;
    set snapshotQuality(value: number);
}
