// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://wicg.github.io/webusb/#interfaces

[
    Constructor(USBConfiguration configuration, octet interfaceNumber),
    RaisesException=Constructor,
    RuntimeEnabled=WebUSB
] interface USBInterface {
    readonly attribute octet interfaceNumber;
    readonly attribute USBAlternateInterface? alternate;
    readonly attribute FrozenArray<USBAlternateInterface> alternates;
    readonly attribute boolean claimed;
};
