import EsriSunLighting from "@arcgis/core/views/3d/environment/SunLighting";
import EsriVirtualLighting from "@arcgis/core/views/3d/environment/VirtualLighting";
import EsriBaseSunLighting from "@arcgis/core/webscene/SunLighting";
import type EsriBaseVirtualLighting from "@arcgis/core/webscene/VirtualLighting";
export declare namespace Lighting {
    /**
     * Converts an ArcGIS Portal JSON representation of lighting to its Esri
     * JavaScript API equivalent.
     *
     * @deprecated Use "json/*" modules instead.
     * @param lightingJson The lighting JSON to convert.
     */
    function toEsriApiLighting(lightingJson: Lighting): EsriVirtualLighting | EsriSunLighting;
    /**
     * Converts an Esri JavaScript API Lighting object to its ArcGIS Portal JSON
     * representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param lighting The Lighting object to convert.
     */
    function fromEsriApiLighting(lighting: EsriSunLighting | EsriVirtualLighting | EsriBaseSunLighting | EsriBaseVirtualLighting): Lighting | undefined;
}
/**
 * Settings for defining the lighting of the scene.
 *
 * @deprecated Use "json/*" modules instead.
 */
export type Lighting = SunLighting | VirtualLighting;
/**
 * Object containing information for the virtual lighting type. The position of
 * the light follows the camera and is set behind the camera with a small offset
 * to the left side.
 *
 * See
 * {@link https://developers.arcgis.com/web-scene-specification/objects/sunLighting/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface VirtualLighting {
    /**
     * Indicates whether to show shadows cast by the main light source.
     */
    directShadows?: boolean;
    /**
     * The type of lighting.
     */
    type: "virtual";
}
/**
 * Object containing information for the sun lighting type. The position of the
 * light is set to the sun's location.
 *
 * See
 * {@link https://developers.arcgis.com/web-scene-specification/objects/sunLighting/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface SunLighting {
    /**
     * The current date and time of the simulated sun. It is a number
     * representing the number of milliseconds since 1 January, 1970 UTC.
     */
    datetime?: number;
    /**
     * Indicates whether to show shadows cast by the sun.
     */
    directShadows?: boolean;
    /**
     * UTC offset in decimal hours. Not to be applied to datetime for sun
     * position, only to adjust display of datetime in UI. If displayUTCOffset
     * is null, offset is calculated for the current location (approximate
     * only).
     */
    displayUTCOffset?: number | nullish;
    /**
     * The type of lighting.
     */
    type: "sun";
}
