/**
 * Thermal ver10 module
 * @author Andrew D.Laptev <a.d.laptev@gmail.com>
 * @see https://www.onvif.org/ver10/thermal/wsdl/thermal.wsdl
 */
import { Onvif } from './onvif';
import Service from './service';
import { Capabilities, Configuration, ConfigurationOptions, GetConfiguration, GetConfigurationOptions, GetConfigurationsResponse, GetRadiometryConfiguration, GetRadiometryConfigurationOptions, RadiometryConfiguration, RadiometryConfigurationOptions, SetConfiguration, SetRadiometryConfiguration } from './interfaces/thermal';
/**
 * Thermal service
 * @example
 * ```ts
 *  const configs = await cam.thermal.getConfigurations();
 *  const token = configs.configurations![0].token;
 *  console.log((await cam.thermal.getConfiguration({ videoSourceToken: token })).polarity);
 *  await cam.thermal.setConfiguration({
 *    videoSourceToken: token,
 *    configuration: {
 *      colorPalette: configs.configurations![0].configuration.colorPalette,
 *      polarity: 'WhiteHot',
 *    },
 *  });
 * ```
 */
export default class Thermal extends Service {
    constructor(onvif: Onvif);
    private static colorPaletteToBuild;
    private static NUCTableToBuild;
    private static coolerToBuild;
    private static configurationToBuild;
    private static radiometryGlobalParametersToBuild;
    private static radiometryConfigurationToBuild;
    /**
     * Returns the capabilities of the thermal service.
     */
    getServiceCapabilities(): Promise<Capabilities>;
    /**
     * Gets the valid ranges for the Thermal parameters that have device specific ranges.
     * @param options
     */
    getConfigurationOptions({ videoSourceToken }: GetConfigurationOptions): Promise<ConfigurationOptions>;
    /**
     * Gets the Thermal Configuration for the requested VideoSource.
     * @param options
     */
    getConfiguration({ videoSourceToken }: GetConfiguration): Promise<Configuration>;
    /**
     * Gets the Thermal Configuration for all thermal VideoSources of the Device.
     */
    getConfigurations(): Promise<GetConfigurationsResponse>;
    /**
     * Sets the Thermal Configuration for the requested VideoSource.
     * @param options
     */
    setConfiguration({ videoSourceToken, configuration }: SetConfiguration): Promise<void>;
    /**
     * Gets the valid ranges for the Radiometry parameters that have device specific ranges.
     * @param options
     */
    getRadiometryConfigurationOptions({ videoSourceToken, }: GetRadiometryConfigurationOptions): Promise<RadiometryConfigurationOptions>;
    /**
     * Gets the Radiometry Configuration for the requested VideoSource.
     * @param options
     */
    getRadiometryConfiguration({ videoSourceToken }: GetRadiometryConfiguration): Promise<RadiometryConfiguration>;
    /**
     * Sets the Radiometry Configuration for the requested VideoSource.
     * @param options
     */
    setRadiometryConfiguration({ videoSourceToken, configuration }: SetRadiometryConfiguration): Promise<void>;
}
