import { AtomController } from './common/atom-controller';
import { ResultType } from './common/data-type';
/**
 * @public
 * @class EnvironmentController
 * @extends AtomController
 */
declare class EnvironmentController extends AtomController {
    private apiClassName;
    private EnvironmentValidate;
    /**
     * @constructor
     * @param {any} obj
     */
    constructor(obj: any);
    /**
     * @public
     * @async
     * @function GetCurrentWeather
     * @param {string} cityName
     * @returns {Promise<ResultType>}
     */
    GetCurrentWeather(cityName: string): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetCityInfo
     * @param {string} cityName
     * @returns {Promise<ResultType>}
     */
    GetCityInfo(cityName: string): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetRealTimeWeatherTimerAllowed
     * @param {boolean} isAllowed (default value is true)
     * @returns {Promise<ResultType>}
     */
    SetRealTimeWeatherTimerAllowed(isAllowed?: boolean): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetSkylightTime
     * @returns {Promise<ResultType>}
     */
    GetSkylightTime(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetSkylightTime
     * @param {string} skylightTime
     * @param {number} durationSeconds
     * @param {boolean} bRealtime (default value is false)
     * @returns {Promise<ResultType>}
     */
    SetSkylightTime(skylightTime: string, durationSeconds: number, bRealtime?: boolean): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetSceneWeather
     * @returns {Promise<ResultType>}
     */
    GetSceneWeather(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetSceneWeather
     * @param {string} sceneWeather
     * @param {number} durationSeconds
     * @param {boolean} bRealtime (default value is false)
     * @returns {Promise<ResultType>}
     */
    SetSceneWeather(sceneWeather: string, durationSeconds: number, bRealtime?: boolean): Promise<ResultType>;
}
export default EnvironmentController;
