// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: Ambient Light Sensor (https://w3c.github.io/ambient-light/)

[Constructor(optional SensorOptions sensorOptions = {}), SecureContext, Exposed=Window]
interface AmbientLightSensor : Sensor {
  readonly attribute double? illuminance;
};

dictionary AmbientLightReadingValues {
  required double? illuminance;
};
