import { BeUiEvent } from "@itwin/core-bentley";
/** Measurement preferences for serializing. */
export interface MeasurementPreferencesProps {
    /** Display any axes (e.g. rise/run) on measurements if they're supported. Default is false */
    displayMeasurementAxes?: boolean;
    /** Displays Altitude (Z) for a location in the measurement widget. Default is true. */
    displayLocationAltitude?: boolean;
    /** Displays any text labels on measurements. Default is true. */
    displayMeasurementLabels?: boolean;
}
/** Enumerates measurement properties for change events. */
export declare enum MeasurementPreferencesProperty {
    displayMeasurementAxes = 1,
    displayLocationAltitude = 2,
    displayMeasurementLabels = 3
}
/** Measurement preferences singleton that manages the application/user's preferences for measurements. Each property when modified will emit a change event. */
export declare class MeasurementPreferences {
    private static _instance?;
    private _displayMeasurementAxes;
    private _displayLocationAltitude;
    private _displayMeasurementLabels;
    /** Event for when a preference property changes value. */
    readonly onPreferenceChanged: BeUiEvent<MeasurementPreferencesProperty>;
    /** Gets the measurement preferences singleton. */
    static get current(): MeasurementPreferences;
    /** Gets or sets if measurement axes should be displayed on newly created measurements. */
    get displayMeasurementAxes(): boolean;
    set displayMeasurementAxes(v: boolean);
    /** Gets or sets if location measurements display Altitude (Z) in the measurement widget. */
    get displayLocationAltitude(): boolean;
    set displayLocationAltitude(v: boolean);
    /** Gets or sets if measurement labels should be displayed on newly created measurements. */
    get displayMeasurementLabels(): boolean;
    set displayMeasurementLabels(v: boolean);
    private constructor();
    loadDefaults(): void;
    load(props: MeasurementPreferencesProps, setDefaultsIfMissing?: boolean): void;
    save(): MeasurementPreferencesProps;
}
//# sourceMappingURL=MeasurementPreferences.d.ts.map