    final class DeviceTypeCollection

    extension DeviceTypeCollection : ComponentPartProviding, Copyable, Equatable, Escapable, Hashable, Sendable, SendableMetatype

A collection of already fetched `https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/DeviceType.html` data.

Provides subscript access to `https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/DeviceType.html`s by their types.
- `


  ### [events](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Classes/DeviceTypeCollection#/s:13GoogleHomeSDK20DeviceTypeCollectionC6eventsAA15EventController_pvp)


  ` Events of all the components in this collection, including all descendants.

  #### Declaration

  Swift

      var events: any https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/EventController.html { get }

- `


  ### [contains(_:)](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Classes/DeviceTypeCollection#/s:13GoogleHomeSDK20DeviceTypeCollectionC8containsySbxmAA0dE0RzlF)


  ` Whether the collection contains a top-level `https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/DeviceType.html` of the given type.

  #### Declaration

  Swift

      func contains<T>(_ type: T.Type) -> Bool where T : https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/DeviceType.html

- `


  ### [getAll(of:)](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Classes/DeviceTypeCollection#/s:13GoogleHomeSDK20DeviceTypeCollectionC6getAll2ofSayxGxm_tAA0dE0RzlF)


  `

  #### Declaration

  Swift

      func getAll<T>(of type: T.Type) -> [T] where T : https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/DeviceType.html

  #### Return Value

  An array of matching types.
- `


  ### [contains(partDeviceID:)](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Classes/DeviceTypeCollection#/s:13GoogleHomeSDK20DeviceTypeCollectionC8contains04partD2IDSbSS_tF)


  ` Undocumented

  #### Declaration

  Swift

      func contains(partDeviceID: String) -> Bool

- `


  ### [subscript(_:)](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Classes/DeviceTypeCollection#/s:13GoogleHomeSDK20DeviceTypeCollectionCyxSgxmcAA0dE0Rzluip)


  ` Returns a top-level `https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/DeviceType.html` of the given type, if it exists.

  #### Declaration

  Swift

      subscript<T>(type: T.Type) -> T? where T : https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/DeviceType.html, T : https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/DeviceType.html { get }

- `


  ### [hash(into:)](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Classes/DeviceTypeCollection#/s:13GoogleHomeSDK20DeviceTypeCollectionC4hash4intoys6HasherVz_tF)


  ` Hashes the essential components of this value by feeding them into the
  given hasher.

  Implement this method to conform to the `Hashable` protocol. The
  components used for hashing must be the same as the components compared
  in your type's `==` operator implementation. Call `hasher.combine(_:)`
  with each of these components.
  Important

  In your implementation of `hash(into:)`,
  don't call `finalize()` on the `hasher` instance provided,
  or replace it with a different instance.
  Doing so may become a compile-time error in the future.

  #### Declaration

  Swift

      func hash(into hasher: inout Hasher)

- `


  ### [==(_:_:)](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Classes/DeviceTypeCollection#/s:13GoogleHomeSDK20DeviceTypeCollectionC2eeoiySbAC_ACtFZ)


  ` Returns a Boolean value indicating whether two values are equal.

  Equality is the inverse of inequality. For any values `a` and `b`,
  `a == b` implies that `a != b` is `false`.

  #### Declaration

  Swift

      static func == (lhs: DeviceTypeCollection, rhs: DeviceTypeCollection) -> Bool

  #### Parameters

  |---|---|
  | ` lhs ` | A value to compare. |
  | ` rhs ` | Another value to compare. |