import EsriCloudyWeather from "@arcgis/core/views/3d/environment/CloudyWeather";
import EsriFoggyWeather from "@arcgis/core/views/3d/environment/FoggyWeather";
import EsriRainyWeather from "@arcgis/core/views/3d/environment/RainyWeather";
import EsriSnowyWeather from "@arcgis/core/views/3d/environment/SnowyWeather";
import EsriSunnyWeather from "@arcgis/core/views/3d/environment/SunnyWeather";
export declare namespace Weather {
    /**
     * Converts an ArcGIS Portal JSON representation of an weather to its Esri
     * JavaScript API equivalent.
     *
     * @deprecated Use "json/*" modules instead.
     * @param weatherJson The Weather JSON to convert.
     */
    function toEsriApiWeather(weatherJson: Weather): EsriCloudyWeather | EsriFoggyWeather | EsriRainyWeather | EsriSnowyWeather | EsriSunnyWeather;
    /**
     * Converts an Esri JavaScript API Environment object to its ArcGIS Portal
     * JSON representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param weather The Weather object to convert.
     */
    function fromEsriApiWeather(weather: CloudyWeather | EsriFoggyWeather | EsriRainyWeather | EsriSnowyWeather | EsriSunnyWeather): Weather;
}
/**
 * Indicates the type of weather visualization in the scene.
 *
 * @deprecated Use "json/*" modules instead.
 */
export type Weather = CloudyWeather | FoggyWeather | RainyWeather | SunnyWeather | SnowyWeather;
/**
 * Object containing information for changing the weather conditions in the
 * scene to cloudy.
 *
 * See
 * {@link https://developers.arcgis.com/web-scene-specification/objects/cloudyWeather/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface CloudyWeather {
    /**
     * Specifies the amount of cloud cover in the sky.
     */
    cloudCover?: number;
    /**
     * The type of weather.
     */
    type: "cloudy";
}
/**
 * Object containing information for changing the weather conditions in the
 * scene to foggy.
 *
 * See
 * {@link https://developers.arcgis.com/web-scene-specification/objects/foggyWeather/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface FoggyWeather {
    /**
     * Specifies the amount of fog used in the scene.
     */
    fogStrength?: number;
    /**
     * The type of weather.
     */
    type: "foggy";
}
/**
 * Object containing information for changing the weather conditions in the
 * scene to rainy.
 *
 * See
 * {@link https://developers.arcgis.com/web-scene-specification/objects/rainyWeather/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface RainyWeather {
    /**
     * Specifies the amount of cloud cover in the sky.
     */
    cloudCover?: number;
    /**
     * Specifies the amount of snowfall in the scene.
     */
    precipitation?: number;
    /**
     * The type of weather.
     */
    type: "rainy";
}
/**
 * Object containing information for changing the weather conditions in the
 * scene to snowy.
 *
 * See
 * {@link https://developers.arcgis.com/web-scene-specification/objects/sunnyWeather/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface SnowyWeather {
    /**
     * Specifies the amount of cloud cover in the sky.
     */
    cloudCover?: number;
    /**
     * Specifies the amount of snowfall in the scene.
     */
    precipitation?: number;
    /**
     * Display surfaces covered with snow.
     */
    snowCover?: "enabled" | "disabled";
    /**
     * The type of weather.
     */
    type: "snowy";
}
/**
 * Object containing information for changing the weather conditions in the
 * scene to sunny.
 *
 * See
 * {@link https://developers.arcgis.com/web-scene-specification/objects/sunnyWeather/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface SunnyWeather {
    /**
     * Specifies the amount of cloud cover in the sky.
     */
    cloudCover?: number;
    /**
     * The type of weather.
     */
    type: "sunny";
}
