import type { Event } from "../Event.js";
import { EventRegistry } from "../EventRegistry.js";
export declare class SettingsEvents extends EventRegistry {
    protected readonly _prefix = "settings";
    /**
     * Raised when application settings have been updated. Mobile only.
     *
     * @mobileOnly
     */
    get updated(): Event<SettingsInfo>;
    /**
     * Raised when application settings have been loaded, e.g. on app launch.
     * Mobile only.
     *
     * @mobileOnly
     */
    get loaded(): Event<SettingsInfo>;
    /**
     * Raised when application settings have been unloaded, e.g. when returning
     * to the app selector in Go.
     *
     * @mobileOnly
     */
    get unloaded(): Event;
}
/**
 * The current settings.
 */
export interface SettingsInfo {
    /**
     * The configured measurement system to use within the app.
     */
    configuredMeasurementSystem: ConfiguredMeasurementSystem;
    /**
     * Indicates if layer visibilities are remembered and restored upon app
     * startup.
     */
    rememberLayerVisibilities: boolean;
    /**
     * Indicates if the map extent is remembered and restored upon app startup.
     */
    rememberMapExtent: boolean;
    /**
     * The size that photos will be resized to when adding as a feature
     * attachment.
     */
    photoResize: PhotoResizeOption;
    /**
     * The user selected theme id.
     */
    activeTheme: string;
}
/**
 * The approximate size / resolution that photos should be resized to.
 */
export type PhotoResizeOption = "Original" | "Large" | "Medium" | "Small";
/**
 * The measurement system units configured for an app. Default uses the device's
 * default units.
 */
export type ConfiguredMeasurementSystem = "Default" | "Metric" | "USCustomary";
