// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: Wake Lock API (https://w3c.github.io/wake-lock/)

dictionary WakeLockPermissionDescriptor : PermissionDescriptor {
  WakeLockType type;
};

enum WakeLockType { "screen", "system" };

[SecureContext, Exposed=(DedicatedWorker, Window)]
interface WakeLock {
  [Exposed=Window] static Promise<PermissionState> requestPermission(WakeLockType type);
  static Promise<void> request(WakeLockType type, optional WakeLockRequestOptions options = {});
};

dictionary WakeLockRequestOptions {
  AbortSignal signal;
};
