    protocol Node : Hashable, Identifiable, Sendable where Self.ID == String

    extension Node : Equatable, SendableMetatype

A base protocol representing a 'node' for the automation graph.
All parts of the automation graph must conform to the `Node` protocol.
- `


  ### [id](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/Node#/s:13GoogleHomeSDK4NodeP2idSSvp)


  ` Undocumented

  #### Declaration

  Swift

      override var id: String { get }

- `


  ### [isEqual(to:)](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/Node#/s:13GoogleHomeSDK4NodeP7isEqual2toSbAaB_p_tF)


  ` Default implementation Returns true if the nodes are equal, false otherwise.

  #### Default Implementation

  Returns true if the nodes are equal, false otherwise.

  #### Declaration

  Swift

      func isEqual(to other: any Node) -> Bool

- `


  ### [==(_:_:)](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/Node#/s:13GoogleHomeSDK4NodePAAE2eeoiySbx_xtFZ)


  ` Extension method Note: By default, object equality is determined by object id.

  Objects conforming to `Node` should override this function if they have other
  properties that should be considered in the equality check.

  #### Declaration

  Swift

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

- `


  ### [hash(into:)](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/Node#/s:13GoogleHomeSDK4NodePAAE4hash4intoys6HasherVz_tF)


  ` Extension method 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)

- `


  ### [eraseToAnyNode()](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/Node#/s:13GoogleHomeSDK4NodePAAE010eraseToAnyD0AA0gD0VyF)


  ` Extension method Wrap the `Node` in a type eraser.

  #### Declaration

  Swift

      func eraseToAnyNode() -> https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/AnyNode.html