text: /*
   *
   *    Copyright (c) 2022 Project CHIP Authors
   *
   *    Licensed under the Apache License, Version 2.0 (the "License");
   *    you may not use this file except in compliance with the License.
   *    You may obtain a copy of the License at
   *
   *        http://www.apache.org/licenses/LICENSE-2.0
   *
   *    Unless required by applicable law or agreed to in writing, software
   *    distributed under the License is distributed on an "AS IS" BASIS,
   *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *    See the License for the specific language governing permissions and
   *    limitations under the License.
   */
  
  // THIS FILE IS GENERATED BY ZAP
  
  #ifndef CHIP_CLUSTERS_H
  #define CHIP_CLUSTERS_H
  
  #import <Foundation/Foundation.h>
  
  #include <CHIP/CHIPCluster.h>
  #include <CHIP/CHIPCommandPayloadsObjc.h>
  
  typedef void (^ResponseHandler)(id _Nullable value, NSError * _Nullable error);
  typedef void (^StatusCompletion)(NSError * _Nullable error);
  typedef void (^SubscriptionEstablishedHandler)(void);
  
  NS_ASSUME_NONNULL_BEGIN
  
  /**
   * Cluster Access Control
   *
   */
  @interface CHIPAccessControl : CHIPCluster
  
  - (void)readAttributeAclWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeAclWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeAclWithMinInterval:(uint16_t)minInterval
                                   maxInterval:(uint16_t)maxInterval
                       subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                 reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeExtensionWithCompletionHandler:(void (^)(
                                                          NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeExtensionWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeExtensionWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Account Login
   *
   */
  @interface CHIPAccountLogin : CHIPCluster
  
  - (void)getSetupPINRequestWithParams:(CHIPAccountLoginClusterGetSetupPINRequestParams *)params
                     completionHandler:(void (^)(CHIPAccountLoginClusterGetSetupPINResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler;
  - (void)loginRequestWithParams:(CHIPAccountLoginClusterLoginRequestParams *)params
               completionHandler:(StatusCompletion)completionHandler;
  - (void)logoutRequestWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster AdministratorCommissioning
   *
   */
  @interface CHIPAdministratorCommissioning : CHIPCluster
  
  - (void)openBasicCommissioningWindowWithParams:(CHIPAdministratorCommissioningClusterOpenBasicCommissioningWindowParams *)params
                               completionHandler:(StatusCompletion)completionHandler;
  - (void)openCommissioningWindowWithParams:(CHIPAdministratorCommissioningClusterOpenCommissioningWindowParams *)params
                          completionHandler:(StatusCompletion)completionHandler;
  - (void)revokeCommissioningWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeWindowStatusWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeWindowStatusWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAdminFabricIndexWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAdminFabricIndexWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAdminVendorIdWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAdminVendorIdWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Application Basic
   *
   */
  @interface CHIPApplicationBasic : CHIPCluster
  
  - (void)readAttributeVendorNameWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeVendorNameWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeVendorIdWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeVendorIdWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeApplicationNameWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeApplicationNameWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeProductIdWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeProductIdWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeApplicationStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeApplicationStatusWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeApplicationVersionWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeApplicationVersionWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAllowedVendorListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAllowedVendorListWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Application Launcher
   *
   */
  @interface CHIPApplicationLauncher : CHIPCluster
  
  - (void)hideAppRequestWithParams:(CHIPApplicationLauncherClusterHideAppRequestParams *)params
                 completionHandler:(void (^)(CHIPApplicationLauncherClusterLauncherResponseParams * _Nullable data,
                                       NSError * _Nullable error))completionHandler;
  - (void)launchAppRequestWithParams:(CHIPApplicationLauncherClusterLaunchAppRequestParams *)params
                   completionHandler:(void (^)(CHIPApplicationLauncherClusterLauncherResponseParams * _Nullable data,
                                         NSError * _Nullable error))completionHandler;
  - (void)stopAppRequestWithParams:(CHIPApplicationLauncherClusterStopAppRequestParams *)params
                 completionHandler:(void (^)(CHIPApplicationLauncherClusterLauncherResponseParams * _Nullable data,
                                       NSError * _Nullable error))completionHandler;
  
  - (void)readAttributeApplicationLauncherListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeApplicationLauncherListWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSArray * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Audio Output
   *
   */
  @interface CHIPAudioOutput : CHIPCluster
  
  - (void)renameOutputRequestWithParams:(CHIPAudioOutputClusterRenameOutputRequestParams *)params
                      completionHandler:(StatusCompletion)completionHandler;
  - (void)selectOutputRequestWithParams:(CHIPAudioOutputClusterSelectOutputRequestParams *)params
                      completionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeAudioOutputListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAudioOutputListWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentAudioOutputWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentAudioOutputWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Barrier Control
   *
   */
  @interface CHIPBarrierControl : CHIPCluster
  
  - (void)barrierControlGoToPercentWithParams:(CHIPBarrierControlClusterBarrierControlGoToPercentParams *)params
                            completionHandler:(StatusCompletion)completionHandler;
  - (void)barrierControlStopWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeBarrierMovingStateWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBarrierMovingStateWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBarrierSafetyStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBarrierSafetyStatusWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBarrierCapabilitiesWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBarrierCapabilitiesWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBarrierPositionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBarrierPositionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Basic
   *
   */
  @interface CHIPBasic : CHIPCluster
  
  - (void)readAttributeDataModelRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeDataModelRevisionWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeVendorNameWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeVendorNameWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeVendorIDWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeVendorIDWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeProductNameWithCompletionHandler:(void (^)(
                                                            NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeProductNameWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeProductIDWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeProductIDWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNodeLabelWithCompletionHandler:(void (^)(
                                                          NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNodeLabelWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNodeLabelWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLocationWithCompletionHandler:(void (^)(
                                                         NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeLocationWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeLocationWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeHardwareVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeHardwareVersionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeHardwareVersionStringWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeHardwareVersionStringWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSoftwareVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSoftwareVersionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSoftwareVersionStringWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSoftwareVersionStringWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeManufacturingDateWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeManufacturingDateWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePartNumberWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePartNumberWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeProductURLWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeProductURLWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeProductLabelWithCompletionHandler:(void (^)(
                                                             NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeProductLabelWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSerialNumberWithCompletionHandler:(void (^)(
                                                             NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSerialNumberWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLocalConfigDisabledWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)writeAttributeLocalConfigDisabledWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeLocalConfigDisabledWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeReachableWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeReachableWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeUniqueIDWithCompletionHandler:(void (^)(
                                                         NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeUniqueIDWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Binary Input (Basic)
   *
   */
  @interface CHIPBinaryInputBasic : CHIPCluster
  
  - (void)readAttributeOutOfServiceWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOutOfServiceWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOutOfServiceWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePresentValueWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributePresentValueWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributePresentValueWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeStatusFlagsWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeStatusFlagsWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Binding
   *
   */
  @interface CHIPBinding : CHIPCluster
  
  - (void)bindWithParams:(CHIPBindingClusterBindParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)unbindWithParams:(CHIPBindingClusterUnbindParams *)params completionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Boolean State
   *
   */
  @interface CHIPBooleanState : CHIPCluster
  
  - (void)readAttributeStateValueWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeStateValueWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Bridged Actions
   *
   */
  @interface CHIPBridgedActions : CHIPCluster
  
  - (void)disableActionWithParams:(CHIPBridgedActionsClusterDisableActionParams *)params
                completionHandler:(StatusCompletion)completionHandler;
  - (void)disableActionWithDurationWithParams:(CHIPBridgedActionsClusterDisableActionWithDurationParams *)params
                            completionHandler:(StatusCompletion)completionHandler;
  - (void)enableActionWithParams:(CHIPBridgedActionsClusterEnableActionParams *)params
               completionHandler:(StatusCompletion)completionHandler;
  - (void)enableActionWithDurationWithParams:(CHIPBridgedActionsClusterEnableActionWithDurationParams *)params
                           completionHandler:(StatusCompletion)completionHandler;
  - (void)instantActionWithParams:(CHIPBridgedActionsClusterInstantActionParams *)params
                completionHandler:(StatusCompletion)completionHandler;
  - (void)instantActionWithTransitionWithParams:(CHIPBridgedActionsClusterInstantActionWithTransitionParams *)params
                              completionHandler:(StatusCompletion)completionHandler;
  - (void)pauseActionWithParams:(CHIPBridgedActionsClusterPauseActionParams *)params
              completionHandler:(StatusCompletion)completionHandler;
  - (void)pauseActionWithDurationWithParams:(CHIPBridgedActionsClusterPauseActionWithDurationParams *)params
                          completionHandler:(StatusCompletion)completionHandler;
  - (void)resumeActionWithParams:(CHIPBridgedActionsClusterResumeActionParams *)params
               completionHandler:(StatusCompletion)completionHandler;
  - (void)startActionWithParams:(CHIPBridgedActionsClusterStartActionParams *)params
              completionHandler:(StatusCompletion)completionHandler;
  - (void)startActionWithDurationWithParams:(CHIPBridgedActionsClusterStartActionWithDurationParams *)params
                          completionHandler:(StatusCompletion)completionHandler;
  - (void)stopActionWithParams:(CHIPBridgedActionsClusterStopActionParams *)params
             completionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeActionListWithCompletionHandler:(void (^)(
                                                           NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeActionListWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEndpointListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeEndpointListWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSetupUrlWithCompletionHandler:(void (^)(
                                                         NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSetupUrlWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Bridged Device Basic
   *
   */
  @interface CHIPBridgedDeviceBasic : CHIPCluster
  
  - (void)readAttributeVendorNameWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeVendorNameWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeVendorIDWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeVendorIDWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeProductNameWithCompletionHandler:(void (^)(
                                                            NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeProductNameWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNodeLabelWithCompletionHandler:(void (^)(
                                                          NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNodeLabelWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNodeLabelWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeHardwareVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeHardwareVersionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeHardwareVersionStringWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeHardwareVersionStringWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSoftwareVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSoftwareVersionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSoftwareVersionStringWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSoftwareVersionStringWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeManufacturingDateWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeManufacturingDateWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePartNumberWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePartNumberWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeProductURLWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeProductURLWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeProductLabelWithCompletionHandler:(void (^)(
                                                             NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeProductLabelWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSerialNumberWithCompletionHandler:(void (^)(
                                                             NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSerialNumberWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeReachableWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeReachableWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Channel
   *
   */
  @interface CHIPChannel : CHIPCluster
  
  - (void)changeChannelByNumberRequestWithParams:(CHIPChannelClusterChangeChannelByNumberRequestParams *)params
                               completionHandler:(StatusCompletion)completionHandler;
  - (void)changeChannelRequestWithParams:(CHIPChannelClusterChangeChannelRequestParams *)params
                       completionHandler:(void (^)(CHIPChannelClusterChangeChannelResponseParams * _Nullable data,
                                             NSError * _Nullable error))completionHandler;
  - (void)skipChannelRequestWithParams:(CHIPChannelClusterSkipChannelRequestParams *)params
                     completionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeChannelListWithCompletionHandler:(void (^)(
                                                            NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeChannelListWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Color Control
   *
   */
  @interface CHIPColorControl : CHIPCluster
  
  - (void)colorLoopSetWithParams:(CHIPColorControlClusterColorLoopSetParams *)params
               completionHandler:(StatusCompletion)completionHandler;
  - (void)enhancedMoveHueWithParams:(CHIPColorControlClusterEnhancedMoveHueParams *)params
                  completionHandler:(StatusCompletion)completionHandler;
  - (void)enhancedMoveToHueWithParams:(CHIPColorControlClusterEnhancedMoveToHueParams *)params
                    completionHandler:(StatusCompletion)completionHandler;
  - (void)enhancedMoveToHueAndSaturationWithParams:(CHIPColorControlClusterEnhancedMoveToHueAndSaturationParams *)params
                                 completionHandler:(StatusCompletion)completionHandler;
  - (void)enhancedStepHueWithParams:(CHIPColorControlClusterEnhancedStepHueParams *)params
                  completionHandler:(StatusCompletion)completionHandler;
  - (void)moveColorWithParams:(CHIPColorControlClusterMoveColorParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)moveColorTemperatureWithParams:(CHIPColorControlClusterMoveColorTemperatureParams *)params
                       completionHandler:(StatusCompletion)completionHandler;
  - (void)moveHueWithParams:(CHIPColorControlClusterMoveHueParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)moveSaturationWithParams:(CHIPColorControlClusterMoveSaturationParams *)params
                 completionHandler:(StatusCompletion)completionHandler;
  - (void)moveToColorWithParams:(CHIPColorControlClusterMoveToColorParams *)params
              completionHandler:(StatusCompletion)completionHandler;
  - (void)moveToColorTemperatureWithParams:(CHIPColorControlClusterMoveToColorTemperatureParams *)params
                         completionHandler:(StatusCompletion)completionHandler;
  - (void)moveToHueWithParams:(CHIPColorControlClusterMoveToHueParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)moveToHueAndSaturationWithParams:(CHIPColorControlClusterMoveToHueAndSaturationParams *)params
                         completionHandler:(StatusCompletion)completionHandler;
  - (void)moveToSaturationWithParams:(CHIPColorControlClusterMoveToSaturationParams *)params
                   completionHandler:(StatusCompletion)completionHandler;
  - (void)stepColorWithParams:(CHIPColorControlClusterStepColorParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)stepColorTemperatureWithParams:(CHIPColorControlClusterStepColorTemperatureParams *)params
                       completionHandler:(StatusCompletion)completionHandler;
  - (void)stepHueWithParams:(CHIPColorControlClusterStepHueParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)stepSaturationWithParams:(CHIPColorControlClusterStepSaturationParams *)params
                 completionHandler:(StatusCompletion)completionHandler;
  - (void)stopMoveStepWithParams:(CHIPColorControlClusterStopMoveStepParams *)params
               completionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeCurrentHueWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentHueWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentSaturationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentSaturationWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRemainingTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRemainingTimeWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentXWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentXWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentYWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentYWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeDriftCompensationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeDriftCompensationWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCompensationTextWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCompensationTextWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorTemperatureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeColorTemperatureWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorModeWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeColorModeWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorControlOptionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)writeAttributeColorControlOptionsWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeColorControlOptionsWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNumberOfPrimariesWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNumberOfPrimariesWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary1XWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary1XWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary1YWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary1YWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary1IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary1IntensityWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary2XWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary2XWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary2YWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary2YWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary2IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary2IntensityWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary3XWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary3XWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary3YWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary3YWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary3IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary3IntensityWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary4XWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary4XWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary4YWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary4YWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary4IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary4IntensityWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary5XWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary5XWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary5YWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary5YWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary5IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary5IntensityWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary6XWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary6XWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary6YWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary6YWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePrimary6IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePrimary6IntensityWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeWhitePointXWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeWhitePointXWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeWhitePointXWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeWhitePointYWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeWhitePointYWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeWhitePointYWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorPointRXWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeColorPointRXWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeColorPointRXWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorPointRYWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeColorPointRYWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeColorPointRYWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorPointRIntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)writeAttributeColorPointRIntensityWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeColorPointRIntensityWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorPointGXWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeColorPointGXWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeColorPointGXWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorPointGYWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeColorPointGYWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeColorPointGYWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorPointGIntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)writeAttributeColorPointGIntensityWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeColorPointGIntensityWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorPointBXWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeColorPointBXWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeColorPointBXWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorPointBYWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeColorPointBYWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeColorPointBYWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorPointBIntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)writeAttributeColorPointBIntensityWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeColorPointBIntensityWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEnhancedCurrentHueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeEnhancedCurrentHueWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEnhancedColorModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeEnhancedColorModeWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorLoopActiveWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeColorLoopActiveWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorLoopDirectionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeColorLoopDirectionWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorLoopTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeColorLoopTimeWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorLoopStartEnhancedHueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeColorLoopStartEnhancedHueWithMinInterval:(uint16_t)minInterval
                                                         maxInterval:(uint16_t)maxInterval
                                             subscriptionEstablished:
                                                 (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                       reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorLoopStoredEnhancedHueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeColorLoopStoredEnhancedHueWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorCapabilitiesWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeColorCapabilitiesWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorTempPhysicalMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeColorTempPhysicalMinWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeColorTempPhysicalMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeColorTempPhysicalMaxWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCoupleColorTempToLevelMinMiredsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCoupleColorTempToLevelMinMiredsWithMinInterval:(uint16_t)minInterval
                                                               maxInterval:(uint16_t)maxInterval
                                                   subscriptionEstablished:
                                                       (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                             reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeStartUpColorTemperatureMiredsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                              NSError * _Nullable error))completionHandler;
  - (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(NSNumber * _Nonnull)value
                                             completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeStartUpColorTemperatureMiredsWithMinInterval:(uint16_t)minInterval
                                                             maxInterval:(uint16_t)maxInterval
                                                 subscriptionEstablished:
                                                     (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                           reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Content Launcher
   *
   */
  @interface CHIPContentLauncher : CHIPCluster
  
  - (void)launchContentRequestWithParams:(CHIPContentLauncherClusterLaunchContentRequestParams *)params
                       completionHandler:(void (^)(CHIPContentLauncherClusterLaunchResponseParams * _Nullable data,
                                             NSError * _Nullable error))completionHandler;
  - (void)launchURLRequestWithParams:(CHIPContentLauncherClusterLaunchURLRequestParams *)params
                   completionHandler:(void (^)(CHIPContentLauncherClusterLaunchResponseParams * _Nullable data,
                                         NSError * _Nullable error))completionHandler;
  
  - (void)readAttributeAcceptHeaderListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAcceptHeaderListWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSupportedStreamingProtocolsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler;
  - (void)writeAttributeSupportedStreamingProtocolsWithValue:(NSNumber * _Nonnull)value
                                           completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeSupportedStreamingProtocolsWithMinInterval:(uint16_t)minInterval
                                                           maxInterval:(uint16_t)maxInterval
                                               subscriptionEstablished:
                                                   (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                         reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Descriptor
   *
   */
  @interface CHIPDescriptor : CHIPCluster
  
  - (void)readAttributeDeviceListWithCompletionHandler:(void (^)(
                                                           NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeDeviceListWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerListWithCompletionHandler:(void (^)(
                                                           NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerListWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientListWithCompletionHandler:(void (^)(
                                                           NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientListWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePartsListWithCompletionHandler:(void (^)(
                                                          NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePartsListWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Diagnostic Logs
   *
   */
  @interface CHIPDiagnosticLogs : CHIPCluster
  
  - (void)retrieveLogsRequestWithParams:(CHIPDiagnosticLogsClusterRetrieveLogsRequestParams *)params
                      completionHandler:(void (^)(CHIPDiagnosticLogsClusterRetrieveLogsResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Door Lock
   *
   */
  @interface CHIPDoorLock : CHIPCluster
  
  - (void)clearCredentialWithParams:(CHIPDoorLockClusterClearCredentialParams *)params
                  completionHandler:(StatusCompletion)completionHandler;
  - (void)clearUserWithParams:(CHIPDoorLockClusterClearUserParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)clearWeekDayScheduleWithParams:(CHIPDoorLockClusterClearWeekDayScheduleParams *)params
                       completionHandler:(StatusCompletion)completionHandler;
  - (void)clearYearDayScheduleWithParams:(CHIPDoorLockClusterClearYearDayScheduleParams *)params
                       completionHandler:(StatusCompletion)completionHandler;
  - (void)getCredentialStatusWithParams:(CHIPDoorLockClusterGetCredentialStatusParams *)params
                      completionHandler:(void (^)(CHIPDoorLockClusterGetCredentialStatusResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler;
  - (void)getUserWithParams:(CHIPDoorLockClusterGetUserParams *)params
          completionHandler:
              (void (^)(CHIPDoorLockClusterGetUserResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
  - (void)getWeekDayScheduleWithParams:(CHIPDoorLockClusterGetWeekDayScheduleParams *)params
                     completionHandler:(void (^)(CHIPDoorLockClusterGetWeekDayScheduleResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler;
  - (void)getYearDayScheduleWithParams:(CHIPDoorLockClusterGetYearDayScheduleParams *)params
                     completionHandler:(void (^)(CHIPDoorLockClusterGetYearDayScheduleResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler;
  - (void)lockDoorWithParams:(CHIPDoorLockClusterLockDoorParams * _Nullable)params
           completionHandler:(StatusCompletion)completionHandler;
  - (void)setCredentialWithParams:(CHIPDoorLockClusterSetCredentialParams *)params
                completionHandler:(void (^)(CHIPDoorLockClusterSetCredentialResponseParams * _Nullable data,
                                      NSError * _Nullable error))completionHandler;
  - (void)setUserWithParams:(CHIPDoorLockClusterSetUserParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)setWeekDayScheduleWithParams:(CHIPDoorLockClusterSetWeekDayScheduleParams *)params
                     completionHandler:(StatusCompletion)completionHandler;
  - (void)setYearDayScheduleWithParams:(CHIPDoorLockClusterSetYearDayScheduleParams *)params
                     completionHandler:(StatusCompletion)completionHandler;
  - (void)unlockDoorWithParams:(CHIPDoorLockClusterUnlockDoorParams * _Nullable)params
             completionHandler:(StatusCompletion)completionHandler;
  - (void)unlockWithTimeoutWithParams:(CHIPDoorLockClusterUnlockWithTimeoutParams *)params
                    completionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeLockStateWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeLockStateWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLockTypeWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeLockTypeWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeActuatorEnabledWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeActuatorEnabledWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeDoorStateWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeDoorStateWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNumberOfTotalUsersSupportedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNumberOfTotalUsersSupportedWithMinInterval:(uint16_t)minInterval
                                                           maxInterval:(uint16_t)maxInterval
                                               subscriptionEstablished:
                                                   (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                         reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNumberOfPINUsersSupportedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNumberOfPINUsersSupportedWithMinInterval:(uint16_t)minInterval
                                                         maxInterval:(uint16_t)maxInterval
                                             subscriptionEstablished:
                                                 (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                       reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNumberOfRFIDUsersSupportedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNumberOfRFIDUsersSupportedWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNumberOfWeekDaySchedulesSupportedPerUserWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                         NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNumberOfWeekDaySchedulesSupportedPerUserWithMinInterval:(uint16_t)minInterval
                                                                        maxInterval:(uint16_t)maxInterval
                                                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)
                                                                                        subscriptionEstablishedHandler
                                                                      reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                                        NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNumberOfYearDaySchedulesSupportedPerUserWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                         NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNumberOfYearDaySchedulesSupportedPerUserWithMinInterval:(uint16_t)minInterval
                                                                        maxInterval:(uint16_t)maxInterval
                                                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)
                                                                                        subscriptionEstablishedHandler
                                                                      reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                                        NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxPINCodeLengthWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxPINCodeLengthWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinPINCodeLengthWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinPINCodeLengthWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxRFIDCodeLengthWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxRFIDCodeLengthWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinRFIDCodeLengthWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinRFIDCodeLengthWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLanguageWithCompletionHandler:(void (^)(
                                                         NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeLanguageWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeLanguageWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAutoRelockTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeAutoRelockTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeAutoRelockTimeWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSoundVolumeWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeSoundVolumeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeSoundVolumeWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOperatingModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOperatingModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOperatingModeWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSupportedOperatingModesWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSupportedOperatingModesWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEnableOneTouchLockingWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)writeAttributeEnableOneTouchLockingWithValue:(NSNumber * _Nonnull)value
                                     completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeEnableOneTouchLockingWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEnablePrivacyModeButtonWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)writeAttributeEnablePrivacyModeButtonWithValue:(NSNumber * _Nonnull)value
                                       completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeEnablePrivacyModeButtonWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeWrongCodeEntryLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)writeAttributeWrongCodeEntryLimitWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeWrongCodeEntryLimitWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Electrical Measurement
   *
   */
  @interface CHIPElectricalMeasurement : CHIPCluster
  
  - (void)readAttributeMeasurementTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMeasurementTypeWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTotalActivePowerWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTotalActivePowerWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRmsVoltageWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRmsVoltageWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRmsVoltageMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRmsVoltageMinWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRmsVoltageMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRmsVoltageMaxWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRmsCurrentWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRmsCurrentWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRmsCurrentMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRmsCurrentMinWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRmsCurrentMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRmsCurrentMaxWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeActivePowerWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeActivePowerWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeActivePowerMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeActivePowerMinWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeActivePowerMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeActivePowerMaxWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Ethernet Network Diagnostics
   *
   */
  @interface CHIPEthernetNetworkDiagnostics : CHIPCluster
  
  - (void)resetCountsWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributePHYRateWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePHYRateWithMinInterval:(uint16_t)minInterval
                                       maxInterval:(uint16_t)maxInterval
                           subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                     reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFullDuplexWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFullDuplexWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePacketRxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePacketRxCountWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePacketTxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePacketTxCountWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxErrCountWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxErrCountWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCollisionCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCollisionCountWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOverrunCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeOverrunCountWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCarrierDetectWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCarrierDetectWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTimeSinceResetWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTimeSinceResetWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Fixed Label
   *
   */
  @interface CHIPFixedLabel : CHIPCluster
  
  - (void)readAttributeLabelListWithCompletionHandler:(void (^)(
                                                          NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeLabelListWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Flow Measurement
   *
   */
  @interface CHIPFlowMeasurement : CHIPCluster
  
  - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeToleranceWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeToleranceWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster General Commissioning
   *
   */
  @interface CHIPGeneralCommissioning : CHIPCluster
  
  - (void)armFailSafeWithParams:(CHIPGeneralCommissioningClusterArmFailSafeParams *)params
              completionHandler:(void (^)(CHIPGeneralCommissioningClusterArmFailSafeResponseParams * _Nullable data,
                                    NSError * _Nullable error))completionHandler;
  - (void)commissioningCompleteWithCompletionHandler:
      (void (^)(CHIPGeneralCommissioningClusterCommissioningCompleteResponseParams * _Nullable data,
          NSError * _Nullable error))completionHandler;
  - (void)setRegulatoryConfigWithParams:(CHIPGeneralCommissioningClusterSetRegulatoryConfigParams *)params
                      completionHandler:(void (^)(CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler;
  
  - (void)readAttributeBreadcrumbWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeBreadcrumbWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeBreadcrumbWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRegulatoryConfigWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRegulatoryConfigWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLocationCapabilityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeLocationCapabilityWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster General Diagnostics
   *
   */
  @interface CHIPGeneralDiagnostics : CHIPCluster
  
  - (void)readAttributeNetworkInterfacesWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNetworkInterfacesWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRebootCountWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRebootCountWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeUpTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeUpTimeWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTotalOperationalHoursWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTotalOperationalHoursWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBootReasonsWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBootReasonsWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeActiveHardwareFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeActiveHardwareFaultsWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeActiveRadioFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeActiveRadioFaultsWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeActiveNetworkFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeActiveNetworkFaultsWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Group Key Management
   *
   */
  @interface CHIPGroupKeyManagement : CHIPCluster
  
  - (void)keySetReadWithParams:(CHIPGroupKeyManagementClusterKeySetReadParams *)params
             completionHandler:(void (^)(CHIPGroupKeyManagementClusterKeySetReadResponseParams * _Nullable data,
                                   NSError * _Nullable error))completionHandler;
  - (void)keySetReadAllIndicesWithParams:(CHIPGroupKeyManagementClusterKeySetReadAllIndicesParams *)params
                       completionHandler:(void (^)(CHIPGroupKeyManagementClusterKeySetReadAllIndicesResponseParams * _Nullable data,
                                             NSError * _Nullable error))completionHandler;
  - (void)keySetRemoveWithParams:(CHIPGroupKeyManagementClusterKeySetRemoveParams *)params
               completionHandler:(StatusCompletion)completionHandler;
  - (void)keySetWriteWithParams:(CHIPGroupKeyManagementClusterKeySetWriteParams *)params
              completionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeGroupKeyMapWithCompletionHandler:(void (^)(
                                                            NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeGroupKeyMapWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeGroupKeyMapWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeGroupTableWithCompletionHandler:(void (^)(
                                                           NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeGroupTableWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxGroupsPerFabricWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxGroupsPerFabricWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxGroupKeysPerFabricWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxGroupKeysPerFabricWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Groups
   *
   */
  @interface CHIPGroups : CHIPCluster
  
  - (void)addGroupWithParams:(CHIPGroupsClusterAddGroupParams *)params
           completionHandler:
               (void (^)(CHIPGroupsClusterAddGroupResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
  - (void)addGroupIfIdentifyingWithParams:(CHIPGroupsClusterAddGroupIfIdentifyingParams *)params
                        completionHandler:(StatusCompletion)completionHandler;
  - (void)getGroupMembershipWithParams:(CHIPGroupsClusterGetGroupMembershipParams *)params
                     completionHandler:(void (^)(CHIPGroupsClusterGetGroupMembershipResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler;
  - (void)removeAllGroupsWithCompletionHandler:(StatusCompletion)completionHandler;
  - (void)removeGroupWithParams:(CHIPGroupsClusterRemoveGroupParams *)params
              completionHandler:
                  (void (^)(CHIPGroupsClusterRemoveGroupResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
  - (void)viewGroupWithParams:(CHIPGroupsClusterViewGroupParams *)params
            completionHandler:
                (void (^)(CHIPGroupsClusterViewGroupResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
  
  - (void)readAttributeNameSupportWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNameSupportWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Identify
   *
   */
  @interface CHIPIdentify : CHIPCluster
  
  - (void)identifyWithParams:(CHIPIdentifyClusterIdentifyParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)identifyQueryWithCompletionHandler:(void (^)(CHIPIdentifyClusterIdentifyQueryResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completionHandler;
  - (void)triggerEffectWithParams:(CHIPIdentifyClusterTriggerEffectParams *)params
                completionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeIdentifyTimeWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeIdentifyTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeIdentifyTimeWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeIdentifyTypeWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeIdentifyTypeWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Illuminance Measurement
   *
   */
  @interface CHIPIlluminanceMeasurement : CHIPCluster
  
  - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeToleranceWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeToleranceWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLightSensorTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeLightSensorTypeWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Keypad Input
   *
   */
  @interface CHIPKeypadInput : CHIPCluster
  
  - (void)sendKeyRequestWithParams:(CHIPKeypadInputClusterSendKeyRequestParams *)params
                 completionHandler:(void (^)(CHIPKeypadInputClusterSendKeyResponseParams * _Nullable data,
                                       NSError * _Nullable error))completionHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Level Control
   *
   */
  @interface CHIPLevelControl : CHIPCluster
  
  - (void)moveWithParams:(CHIPLevelControlClusterMoveParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)moveToLevelWithParams:(CHIPLevelControlClusterMoveToLevelParams *)params
              completionHandler:(StatusCompletion)completionHandler;
  - (void)moveToLevelWithOnOffWithParams:(CHIPLevelControlClusterMoveToLevelWithOnOffParams *)params
                       completionHandler:(StatusCompletion)completionHandler;
  - (void)moveWithOnOffWithParams:(CHIPLevelControlClusterMoveWithOnOffParams *)params
                completionHandler:(StatusCompletion)completionHandler;
  - (void)stepWithParams:(CHIPLevelControlClusterStepParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)stepWithOnOffWithParams:(CHIPLevelControlClusterStepWithOnOffParams *)params
                completionHandler:(StatusCompletion)completionHandler;
  - (void)stopWithParams:(CHIPLevelControlClusterStopParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)stopWithOnOffWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeCurrentLevelWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentLevelWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRemainingTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRemainingTimeWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinLevelWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinLevelWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxLevelWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxLevelWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentFrequencyWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentFrequencyWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinFrequencyWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinFrequencyWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxFrequencyWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxFrequencyWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOptionsWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOptionsWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOptionsWithMinInterval:(uint16_t)minInterval
                                       maxInterval:(uint16_t)maxInterval
                           subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                     reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOnOffTransitionTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOnOffTransitionTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOnOffTransitionTimeWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOnLevelWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOnLevelWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOnLevelWithMinInterval:(uint16_t)minInterval
                                       maxInterval:(uint16_t)maxInterval
                           subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                     reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOnTransitionTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOnTransitionTimeWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOnTransitionTimeWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOffTransitionTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOffTransitionTimeWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOffTransitionTimeWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeDefaultMoveRateWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)writeAttributeDefaultMoveRateWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeDefaultMoveRateWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeStartUpCurrentLevelWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)writeAttributeStartUpCurrentLevelWithValue:(NSNumber * _Nullable)value
                                   completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeStartUpCurrentLevelWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Localization Configuration
   *
   */
  @interface CHIPLocalizationConfiguration : CHIPCluster
  
  - (void)readAttributeActiveLocaleWithCompletionHandler:(void (^)(
                                                             NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeActiveLocaleWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeActiveLocaleWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSupportedLocalesWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSupportedLocalesWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Low Power
   *
   */
  @interface CHIPLowPower : CHIPCluster
  
  - (void)sleepWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Media Input
   *
   */
  @interface CHIPMediaInput : CHIPCluster
  
  - (void)hideInputStatusRequestWithCompletionHandler:(StatusCompletion)completionHandler;
  - (void)renameInputRequestWithParams:(CHIPMediaInputClusterRenameInputRequestParams *)params
                     completionHandler:(StatusCompletion)completionHandler;
  - (void)selectInputRequestWithParams:(CHIPMediaInputClusterSelectInputRequestParams *)params
                     completionHandler:(StatusCompletion)completionHandler;
  - (void)showInputStatusRequestWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeMediaInputListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMediaInputListWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentMediaInputWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentMediaInputWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Media Playback
   *
   */
  @interface CHIPMediaPlayback : CHIPCluster
  
  - (void)fastForwardRequestWithCompletionHandler:(void (^)(CHIPMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                                      NSError * _Nullable error))completionHandler;
  - (void)nextRequestWithCompletionHandler:(void (^)(CHIPMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                               NSError * _Nullable error))completionHandler;
  - (void)pauseRequestWithCompletionHandler:(void (^)(CHIPMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                                NSError * _Nullable error))completionHandler;
  - (void)playRequestWithCompletionHandler:(void (^)(CHIPMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                               NSError * _Nullable error))completionHandler;
  - (void)previousRequestWithCompletionHandler:(void (^)(CHIPMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                                   NSError * _Nullable error))completionHandler;
  - (void)rewindRequestWithCompletionHandler:(void (^)(CHIPMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completionHandler;
  - (void)seekRequestWithParams:(CHIPMediaPlaybackClusterSeekRequestParams *)params
              completionHandler:(void (^)(CHIPMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                    NSError * _Nullable error))completionHandler;
  - (void)skipBackwardRequestWithParams:(CHIPMediaPlaybackClusterSkipBackwardRequestParams *)params
                      completionHandler:(void (^)(CHIPMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler;
  - (void)skipForwardRequestWithParams:(CHIPMediaPlaybackClusterSkipForwardRequestParams *)params
                     completionHandler:(void (^)(CHIPMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler;
  - (void)startOverRequestWithCompletionHandler:(void (^)(CHIPMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                                    NSError * _Nullable error))completionHandler;
  - (void)stopRequestWithCompletionHandler:(void (^)(CHIPMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                               NSError * _Nullable error))completionHandler;
  
  - (void)readAttributePlaybackStateWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePlaybackStateWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeStartTimeWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeStartTimeWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeDurationWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeDurationWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePlaybackSpeedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePlaybackSpeedWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSeekRangeEndWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSeekRangeEndWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSeekRangeStartWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSeekRangeStartWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Mode Select
   *
   */
  @interface CHIPModeSelect : CHIPCluster
  
  - (void)changeToModeWithParams:(CHIPModeSelectClusterChangeToModeParams *)params
               completionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeCurrentModeWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentModeWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSupportedModesWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSupportedModesWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOnModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOnModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOnModeWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeStartUpModeWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeStartUpModeWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeDescriptionWithCompletionHandler:(void (^)(
                                                            NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeDescriptionWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Network Commissioning
   *
   */
  @interface CHIPNetworkCommissioning : CHIPCluster
  
  - (void)addOrUpdateThreadNetworkWithParams:(CHIPNetworkCommissioningClusterAddOrUpdateThreadNetworkParams *)params
                           completionHandler:(void (^)(CHIPNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completionHandler;
  - (void)addOrUpdateWiFiNetworkWithParams:(CHIPNetworkCommissioningClusterAddOrUpdateWiFiNetworkParams *)params
                         completionHandler:(void (^)(CHIPNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
                                               NSError * _Nullable error))completionHandler;
  - (void)connectNetworkWithParams:(CHIPNetworkCommissioningClusterConnectNetworkParams *)params
                 completionHandler:(void (^)(CHIPNetworkCommissioningClusterConnectNetworkResponseParams * _Nullable data,
                                       NSError * _Nullable error))completionHandler;
  - (void)removeNetworkWithParams:(CHIPNetworkCommissioningClusterRemoveNetworkParams *)params
                completionHandler:(void (^)(CHIPNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
                                      NSError * _Nullable error))completionHandler;
  - (void)reorderNetworkWithParams:(CHIPNetworkCommissioningClusterReorderNetworkParams *)params
                 completionHandler:(void (^)(CHIPNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
                                       NSError * _Nullable error))completionHandler;
  - (void)scanNetworksWithParams:(CHIPNetworkCommissioningClusterScanNetworksParams *)params
               completionHandler:(void (^)(CHIPNetworkCommissioningClusterScanNetworksResponseParams * _Nullable data,
                                     NSError * _Nullable error))completionHandler;
  
  - (void)readAttributeMaxNetworksWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxNetworksWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNetworksWithCompletionHandler:(void (^)(
                                                         NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNetworksWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeScanMaxTimeSecondsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeScanMaxTimeSecondsWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeConnectMaxTimeSecondsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeConnectMaxTimeSecondsWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInterfaceEnabledWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInterfaceEnabledWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInterfaceEnabledWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLastNetworkingStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeLastNetworkingStatusWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLastNetworkIDWithCompletionHandler:(void (^)(
                                                              NSData * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeLastNetworkIDWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLastConnectErrorValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeLastConnectErrorValueWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster OTA Software Update Provider
   *
   */
  @interface CHIPOtaSoftwareUpdateProvider : CHIPCluster
  
  - (void)applyUpdateRequestWithParams:(CHIPOtaSoftwareUpdateProviderClusterApplyUpdateRequestParams *)params
                     completionHandler:(void (^)(CHIPOtaSoftwareUpdateProviderClusterApplyUpdateResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler;
  - (void)notifyUpdateAppliedWithParams:(CHIPOtaSoftwareUpdateProviderClusterNotifyUpdateAppliedParams *)params
                      completionHandler:(StatusCompletion)completionHandler;
  - (void)queryImageWithParams:(CHIPOtaSoftwareUpdateProviderClusterQueryImageParams *)params
             completionHandler:(void (^)(CHIPOtaSoftwareUpdateProviderClusterQueryImageResponseParams * _Nullable data,
                                   NSError * _Nullable error))completionHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster OTA Software Update Requestor
   *
   */
  @interface CHIPOtaSoftwareUpdateRequestor : CHIPCluster
  
  - (void)announceOtaProviderWithParams:(CHIPOtaSoftwareUpdateRequestorClusterAnnounceOtaProviderParams *)params
                      completionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeDefaultOtaProvidersWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)writeAttributeDefaultOtaProvidersWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeDefaultOtaProvidersWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeUpdatePossibleWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeUpdatePossibleWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeUpdateStateWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeUpdateStateWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeUpdateStateProgressWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeUpdateStateProgressWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Occupancy Sensing
   *
   */
  @interface CHIPOccupancySensing : CHIPCluster
  
  - (void)readAttributeOccupancyWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeOccupancyWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOccupancySensorTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeOccupancySensorTypeWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOccupancySensorTypeBitmapWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeOccupancySensorTypeBitmapWithMinInterval:(uint16_t)minInterval
                                                         maxInterval:(uint16_t)maxInterval
                                             subscriptionEstablished:
                                                 (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                       reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster On/Off
   *
   */
  @interface CHIPOnOff : CHIPCluster
  
  - (void)offWithCompletionHandler:(StatusCompletion)completionHandler;
  - (void)offWithEffectWithParams:(CHIPOnOffClusterOffWithEffectParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)onWithCompletionHandler:(StatusCompletion)completionHandler;
  - (void)onWithRecallGlobalSceneWithCompletionHandler:(StatusCompletion)completionHandler;
  - (void)onWithTimedOffWithParams:(CHIPOnOffClusterOnWithTimedOffParams *)params
                 completionHandler:(StatusCompletion)completionHandler;
  - (void)toggleWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeOnOffWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeOnOffWithMinInterval:(uint16_t)minInterval
                                     maxInterval:(uint16_t)maxInterval
                         subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                   reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeGlobalSceneControlWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeGlobalSceneControlWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOnTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOnTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOnTimeWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOffWaitTimeWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOffWaitTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOffWaitTimeWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeStartUpOnOffWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeStartUpOnOffWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeStartUpOnOffWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster On/off Switch Configuration
   *
   */
  @interface CHIPOnOffSwitchConfiguration : CHIPCluster
  
  - (void)readAttributeSwitchTypeWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSwitchTypeWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSwitchActionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)writeAttributeSwitchActionsWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeSwitchActionsWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Operational Credentials
   *
   */
  @interface CHIPOperationalCredentials : CHIPCluster
  
  - (void)addNOCWithParams:(CHIPOperationalCredentialsClusterAddNOCParams *)params
         completionHandler:(void (^)(CHIPOperationalCredentialsClusterNOCResponseParams * _Nullable data,
                               NSError * _Nullable error))completionHandler;
  - (void)addTrustedRootCertificateWithParams:(CHIPOperationalCredentialsClusterAddTrustedRootCertificateParams *)params
                            completionHandler:(StatusCompletion)completionHandler;
  - (void)attestationRequestWithParams:(CHIPOperationalCredentialsClusterAttestationRequestParams *)params
                     completionHandler:(void (^)(CHIPOperationalCredentialsClusterAttestationResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler;
  - (void)CSRRequestWithParams:(CHIPOperationalCredentialsClusterCSRRequestParams *)params
             completionHandler:(void (^)(CHIPOperationalCredentialsClusterCSRResponseParams * _Nullable data,
                                   NSError * _Nullable error))completionHandler;
  - (void)certificateChainRequestWithParams:(CHIPOperationalCredentialsClusterCertificateChainRequestParams *)params
                          completionHandler:
                              (void (^)(CHIPOperationalCredentialsClusterCertificateChainResponseParams * _Nullable data,
                                  NSError * _Nullable error))completionHandler;
  - (void)removeFabricWithParams:(CHIPOperationalCredentialsClusterRemoveFabricParams *)params
               completionHandler:(void (^)(CHIPOperationalCredentialsClusterNOCResponseParams * _Nullable data,
                                     NSError * _Nullable error))completionHandler;
  - (void)removeTrustedRootCertificateWithParams:(CHIPOperationalCredentialsClusterRemoveTrustedRootCertificateParams *)params
                               completionHandler:(StatusCompletion)completionHandler;
  - (void)updateFabricLabelWithParams:(CHIPOperationalCredentialsClusterUpdateFabricLabelParams *)params
                    completionHandler:(void (^)(CHIPOperationalCredentialsClusterNOCResponseParams * _Nullable data,
                                          NSError * _Nullable error))completionHandler;
  - (void)updateNOCWithParams:(CHIPOperationalCredentialsClusterUpdateNOCParams *)params
            completionHandler:(void (^)(CHIPOperationalCredentialsClusterNOCResponseParams * _Nullable data,
                                  NSError * _Nullable error))completionHandler;
  
  - (void)readAttributeNOCsWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNOCsWithMinInterval:(uint16_t)minInterval
                                    maxInterval:(uint16_t)maxInterval
                        subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                  reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFabricsListWithCompletionHandler:(void (^)(
                                                            NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFabricsListWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSupportedFabricsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSupportedFabricsWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCommissionedFabricsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCommissionedFabricsWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTrustedRootCertificatesWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTrustedRootCertificatesWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSArray * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentFabricIndexWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentFabricIndexWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Power Source
   *
   */
  @interface CHIPPowerSource : CHIPCluster
  
  - (void)readAttributeStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeStatusWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOrderWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeOrderWithMinInterval:(uint16_t)minInterval
                                     maxInterval:(uint16_t)maxInterval
                         subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                   reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeDescriptionWithCompletionHandler:(void (^)(
                                                            NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeDescriptionWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBatteryVoltageWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBatteryVoltageWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBatteryPercentRemainingWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBatteryPercentRemainingWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBatteryTimeRemainingWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBatteryTimeRemainingWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBatteryChargeLevelWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBatteryChargeLevelWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeActiveBatteryFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeActiveBatteryFaultsWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBatteryChargeStateWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBatteryChargeStateWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Power Source Configuration
   *
   */
  @interface CHIPPowerSourceConfiguration : CHIPCluster
  
  - (void)readAttributeSourcesWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSourcesWithMinInterval:(uint16_t)minInterval
                                       maxInterval:(uint16_t)maxInterval
                           subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                     reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Pressure Measurement
   *
   */
  @interface CHIPPressureMeasurement : CHIPCluster
  
  - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Pump Configuration and Control
   *
   */
  @interface CHIPPumpConfigurationAndControl : CHIPCluster
  
  - (void)readAttributeMaxPressureWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxPressureWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxSpeedWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxSpeedWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxFlowWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxFlowWithMinInterval:(uint16_t)minInterval
                                       maxInterval:(uint16_t)maxInterval
                           subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                     reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinConstPressureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinConstPressureWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxConstPressureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxConstPressureWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinCompPressureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinCompPressureWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxCompPressureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxCompPressureWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinConstSpeedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinConstSpeedWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxConstSpeedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxConstSpeedWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinConstFlowWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinConstFlowWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxConstFlowWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxConstFlowWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinConstTempWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinConstTempWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxConstTempWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxConstTempWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePumpStatusWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePumpStatusWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEffectiveOperationModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeEffectiveOperationModeWithMinInterval:(uint16_t)minInterval
                                                      maxInterval:(uint16_t)maxInterval
                                          subscriptionEstablished:
                                              (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                    reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEffectiveControlModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeEffectiveControlModeWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCapacityWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCapacityWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSpeedWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSpeedWithMinInterval:(uint16_t)minInterval
                                     maxInterval:(uint16_t)maxInterval
                         subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                   reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLifetimeRunningHoursWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)writeAttributeLifetimeRunningHoursWithValue:(NSNumber * _Nullable)value
                                    completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeLifetimeRunningHoursWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePowerWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePowerWithMinInterval:(uint16_t)minInterval
                                     maxInterval:(uint16_t)maxInterval
                         subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                   reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLifetimeEnergyConsumedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler;
  - (void)writeAttributeLifetimeEnergyConsumedWithValue:(NSNumber * _Nullable)value
                                      completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeLifetimeEnergyConsumedWithMinInterval:(uint16_t)minInterval
                                                      maxInterval:(uint16_t)maxInterval
                                          subscriptionEstablished:
                                              (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                    reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOperationModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOperationModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOperationModeWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeControlModeWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeControlModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeControlModeWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAlarmMaskWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAlarmMaskWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Relative Humidity Measurement
   *
   */
  @interface CHIPRelativeHumidityMeasurement : CHIPCluster
  
  - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeToleranceWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeToleranceWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Scenes
   *
   */
  @interface CHIPScenes : CHIPCluster
  
  - (void)addSceneWithParams:(CHIPScenesClusterAddSceneParams *)params
           completionHandler:
               (void (^)(CHIPScenesClusterAddSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
  - (void)getSceneMembershipWithParams:(CHIPScenesClusterGetSceneMembershipParams *)params
                     completionHandler:(void (^)(CHIPScenesClusterGetSceneMembershipResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler;
  - (void)recallSceneWithParams:(CHIPScenesClusterRecallSceneParams *)params completionHandler:(StatusCompletion)completionHandler;
  - (void)removeAllScenesWithParams:(CHIPScenesClusterRemoveAllScenesParams *)params
                  completionHandler:(void (^)(CHIPScenesClusterRemoveAllScenesResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler;
  - (void)removeSceneWithParams:(CHIPScenesClusterRemoveSceneParams *)params
              completionHandler:
                  (void (^)(CHIPScenesClusterRemoveSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
  - (void)storeSceneWithParams:(CHIPScenesClusterStoreSceneParams *)params
             completionHandler:
                 (void (^)(CHIPScenesClusterStoreSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
  - (void)viewSceneWithParams:(CHIPScenesClusterViewSceneParams *)params
            completionHandler:
                (void (^)(CHIPScenesClusterViewSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
  
  - (void)readAttributeSceneCountWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSceneCountWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentSceneWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentSceneWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentGroupWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentGroupWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSceneValidWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSceneValidWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNameSupportWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNameSupportWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Software Diagnostics
   *
   */
  @interface CHIPSoftwareDiagnostics : CHIPCluster
  
  - (void)resetWatermarksWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeThreadMetricsWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeThreadMetricsWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentHeapFreeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentHeapFreeWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentHeapUsedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentHeapUsedWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentHeapHighWatermarkWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentHeapHighWatermarkWithMinInterval:(uint16_t)minInterval
                                                        maxInterval:(uint16_t)maxInterval
                                            subscriptionEstablished:
                                                (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                      reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Switch
   *
   */
  @interface CHIPSwitch : CHIPCluster
  
  - (void)readAttributeNumberOfPositionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNumberOfPositionsWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentPositionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentPositionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMultiPressMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMultiPressMaxWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Target Navigator
   *
   */
  @interface CHIPTargetNavigator : CHIPCluster
  
  - (void)navigateTargetRequestWithParams:(CHIPTargetNavigatorClusterNavigateTargetRequestParams *)params
                        completionHandler:(void (^)(CHIPTargetNavigatorClusterNavigateTargetResponseParams * _Nullable data,
                                              NSError * _Nullable error))completionHandler;
  
  - (void)readAttributeTargetNavigatorListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTargetNavigatorListWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentNavigatorTargetWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentNavigatorTargetWithMinInterval:(uint16_t)minInterval
                                                      maxInterval:(uint16_t)maxInterval
                                          subscriptionEstablished:
                                              (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                    reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Temperature Measurement
   *
   */
  @interface CHIPTemperatureMeasurement : CHIPCluster
  
  - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeToleranceWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeToleranceWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Test Cluster
   *
   */
  @interface CHIPTestCluster : CHIPCluster
  
  - (void)simpleStructEchoRequestWithParams:(CHIPTestClusterClusterSimpleStructEchoRequestParams *)params
                          completionHandler:(void (^)(CHIPTestClusterClusterSimpleStructResponseParams * _Nullable data,
                                                NSError * _Nullable error))completionHandler;
  - (void)testWithCompletionHandler:(StatusCompletion)completionHandler;
  - (void)testAddArgumentsWithParams:(CHIPTestClusterClusterTestAddArgumentsParams *)params
                   completionHandler:(void (^)(CHIPTestClusterClusterTestAddArgumentsResponseParams * _Nullable data,
                                         NSError * _Nullable error))completionHandler;
  - (void)testEmitTestEventRequestWithParams:(CHIPTestClusterClusterTestEmitTestEventRequestParams *)params
                           completionHandler:(void (^)(CHIPTestClusterClusterTestEmitTestEventResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completionHandler;
  - (void)testEnumsRequestWithParams:(CHIPTestClusterClusterTestEnumsRequestParams *)params
                   completionHandler:(void (^)(CHIPTestClusterClusterTestEnumsResponseParams * _Nullable data,
                                         NSError * _Nullable error))completionHandler;
  - (void)testListInt8UArgumentRequestWithParams:(CHIPTestClusterClusterTestListInt8UArgumentRequestParams *)params
                               completionHandler:(void (^)(CHIPTestClusterClusterBooleanResponseParams * _Nullable data,
                                                     NSError * _Nullable error))completionHandler;
  - (void)testListInt8UReverseRequestWithParams:(CHIPTestClusterClusterTestListInt8UReverseRequestParams *)params
                              completionHandler:(void (^)(CHIPTestClusterClusterTestListInt8UReverseResponseParams * _Nullable data,
                                                    NSError * _Nullable error))completionHandler;
  - (void)testListNestedStructListArgumentRequestWithParams:
              (CHIPTestClusterClusterTestListNestedStructListArgumentRequestParams *)params
                                          completionHandler:(void (^)(CHIPTestClusterClusterBooleanResponseParams * _Nullable data,
                                                                NSError * _Nullable error))completionHandler;
  - (void)testListStructArgumentRequestWithParams:(CHIPTestClusterClusterTestListStructArgumentRequestParams *)params
                                completionHandler:(void (^)(CHIPTestClusterClusterBooleanResponseParams * _Nullable data,
                                                      NSError * _Nullable error))completionHandler;
  - (void)testNestedStructArgumentRequestWithParams:(CHIPTestClusterClusterTestNestedStructArgumentRequestParams *)params
                                  completionHandler:(void (^)(CHIPTestClusterClusterBooleanResponseParams * _Nullable data,
                                                        NSError * _Nullable error))completionHandler;
  - (void)testNestedStructListArgumentRequestWithParams:(CHIPTestClusterClusterTestNestedStructListArgumentRequestParams *)params
                                      completionHandler:(void (^)(CHIPTestClusterClusterBooleanResponseParams * _Nullable data,
                                                            NSError * _Nullable error))completionHandler;
  - (void)testNotHandledWithCompletionHandler:(StatusCompletion)completionHandler;
  - (void)testNullableOptionalRequestWithParams:(CHIPTestClusterClusterTestNullableOptionalRequestParams * _Nullable)params
                              completionHandler:(void (^)(CHIPTestClusterClusterTestNullableOptionalResponseParams * _Nullable data,
                                                    NSError * _Nullable error))completionHandler;
  - (void)testSimpleOptionalArgumentRequestWithParams:
              (CHIPTestClusterClusterTestSimpleOptionalArgumentRequestParams * _Nullable)params
                                    completionHandler:(StatusCompletion)completionHandler;
  - (void)testSpecificWithCompletionHandler:(void (^)(CHIPTestClusterClusterTestSpecificResponseParams * _Nullable data,
                                                NSError * _Nullable error))completionHandler;
  - (void)testStructArgumentRequestWithParams:(CHIPTestClusterClusterTestStructArgumentRequestParams *)params
                            completionHandler:(void (^)(CHIPTestClusterClusterBooleanResponseParams * _Nullable data,
                                                  NSError * _Nullable error))completionHandler;
  - (void)testUnknownCommandWithCompletionHandler:(StatusCompletion)completionHandler;
  - (void)timedInvokeRequestWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeBooleanWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeBooleanWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeBooleanWithMinInterval:(uint16_t)minInterval
                                       maxInterval:(uint16_t)maxInterval
                           subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                     reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBitmap8WithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeBitmap8WithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeBitmap8WithMinInterval:(uint16_t)minInterval
                                       maxInterval:(uint16_t)maxInterval
                           subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                     reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBitmap16WithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeBitmap16WithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeBitmap16WithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBitmap32WithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeBitmap32WithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeBitmap32WithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBitmap64WithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeBitmap64WithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeBitmap64WithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt8uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt8uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt8uWithMinInterval:(uint16_t)minInterval
                                     maxInterval:(uint16_t)maxInterval
                         subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                   reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt16uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt16uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt16uWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt24uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt24uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt24uWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt32uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt32uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt32uWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt40uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt40uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt40uWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt48uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt48uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt48uWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt56uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt56uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt56uWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt64uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt64uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt64uWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt8sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt8sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt8sWithMinInterval:(uint16_t)minInterval
                                     maxInterval:(uint16_t)maxInterval
                         subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                   reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt16sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt16sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt16sWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt24sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt24sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt24sWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt32sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt32sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt32sWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt40sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt40sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt40sWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt48sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt48sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt48sWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt56sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt56sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt56sWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInt64sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeInt64sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeInt64sWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEnum8WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeEnum8WithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeEnum8WithMinInterval:(uint16_t)minInterval
                                     maxInterval:(uint16_t)maxInterval
                         subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                   reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEnum16WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeEnum16WithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeEnum16WithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFloatSingleWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeFloatSingleWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeFloatSingleWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFloatDoubleWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeFloatDoubleWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeFloatDoubleWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOctetStringWithCompletionHandler:(void (^)(
                                                            NSData * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOctetStringWithValue:(NSData * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOctetStringWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeListInt8uWithCompletionHandler:(void (^)(
                                                          NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeListInt8uWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeListInt8uWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeListOctetStringWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)writeAttributeListOctetStringWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeListOctetStringWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeListStructOctetStringWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)writeAttributeListStructOctetStringWithValue:(NSArray * _Nonnull)value
                                     completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeListStructOctetStringWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLongOctetStringWithCompletionHandler:(void (^)(NSData * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)writeAttributeLongOctetStringWithValue:(NSData * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeLongOctetStringWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSData * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCharStringWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeCharStringWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeCharStringWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLongCharStringWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeLongCharStringWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeLongCharStringWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEpochUsWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeEpochUsWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeEpochUsWithMinInterval:(uint16_t)minInterval
                                       maxInterval:(uint16_t)maxInterval
                           subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                     reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEpochSWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeEpochSWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeEpochSWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeVendorIdWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeVendorIdWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeVendorIdWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeListNullablesAndOptionalsStructWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                                NSError * _Nullable error))completionHandler;
  - (void)writeAttributeListNullablesAndOptionalsStructWithValue:(NSArray * _Nonnull)value
                                               completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeListNullablesAndOptionalsStructWithMinInterval:(uint16_t)minInterval
                                                               maxInterval:(uint16_t)maxInterval
                                                   subscriptionEstablished:
                                                       (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                             reportHandler:(void (^)(NSArray * _Nullable value,
                                                                               NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEnumAttrWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeEnumAttrWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeEnumAttrWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRangeRestrictedInt8uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)writeAttributeRangeRestrictedInt8uWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeRangeRestrictedInt8uWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRangeRestrictedInt8sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)writeAttributeRangeRestrictedInt8sWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeRangeRestrictedInt8sWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRangeRestrictedInt16uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)writeAttributeRangeRestrictedInt16uWithValue:(NSNumber * _Nonnull)value
                                     completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeRangeRestrictedInt16uWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRangeRestrictedInt16sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)writeAttributeRangeRestrictedInt16sWithValue:(NSNumber * _Nonnull)value
                                     completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeRangeRestrictedInt16sWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeListLongOctetStringWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeListLongOctetStringWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTimedWriteBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)writeAttributeTimedWriteBooleanWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeTimedWriteBooleanWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeGeneralErrorBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)writeAttributeGeneralErrorBooleanWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeGeneralErrorBooleanWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterErrorBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)writeAttributeClusterErrorBooleanWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeClusterErrorBooleanWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeUnsupportedWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeUnsupportedWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeUnsupportedWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableBooleanWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableBooleanWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableBitmap8WithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableBitmap8WithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableBitmap8WithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableBitmap16WithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableBitmap16WithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableBitmap16WithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableBitmap32WithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableBitmap32WithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableBitmap32WithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableBitmap64WithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableBitmap64WithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableBitmap64WithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt8uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt8uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt8uWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt16uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt16uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt16uWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt24uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt24uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt24uWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt32uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt32uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt32uWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt40uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt40uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt40uWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt48uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt48uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt48uWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt56uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt56uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt56uWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt64uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt64uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt64uWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt8sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt8sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt8sWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt16sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt16sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt16sWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt24sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt24sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt24sWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt32sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt32sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt32sWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt40sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt40sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt40sWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt48sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt48sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt48sWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt56sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt56sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt56sWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableInt64sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableInt64sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableInt64sWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableEnum8WithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableEnum8WithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableEnum8WithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableEnum16WithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableEnum16WithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableEnum16WithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableFloatSingleWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableFloatSingleWithValue:(NSNumber * _Nullable)value
                                   completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableFloatSingleWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableFloatDoubleWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableFloatDoubleWithValue:(NSNumber * _Nullable)value
                                   completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableFloatDoubleWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableOctetStringWithCompletionHandler:(void (^)(NSData * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableOctetStringWithValue:(NSData * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableOctetStringWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSData * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableCharStringWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableCharStringWithValue:(NSString * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableCharStringWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableEnumAttrWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableEnumAttrWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableEnumAttrWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableRangeRestrictedInt8uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableRangeRestrictedInt8uWithValue:(NSNumber * _Nullable)value
                                            completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableRangeRestrictedInt8uWithMinInterval:(uint16_t)minInterval
                                                            maxInterval:(uint16_t)maxInterval
                                                subscriptionEstablished:
                                                    (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                          reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableRangeRestrictedInt8sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableRangeRestrictedInt8sWithValue:(NSNumber * _Nullable)value
                                            completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableRangeRestrictedInt8sWithMinInterval:(uint16_t)minInterval
                                                            maxInterval:(uint16_t)maxInterval
                                                subscriptionEstablished:
                                                    (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                          reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableRangeRestrictedInt16uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                              NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableRangeRestrictedInt16uWithValue:(NSNumber * _Nullable)value
                                             completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableRangeRestrictedInt16uWithMinInterval:(uint16_t)minInterval
                                                             maxInterval:(uint16_t)maxInterval
                                                 subscriptionEstablished:
                                                     (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                           reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNullableRangeRestrictedInt16sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                              NSError * _Nullable error))completionHandler;
  - (void)writeAttributeNullableRangeRestrictedInt16sWithValue:(NSNumber * _Nullable)value
                                             completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeNullableRangeRestrictedInt16sWithMinInterval:(uint16_t)minInterval
                                                             maxInterval:(uint16_t)maxInterval
                                                 subscriptionEstablished:
                                                     (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                           reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Thermostat
   *
   */
  @interface CHIPThermostat : CHIPCluster
  
  - (void)clearWeeklyScheduleWithCompletionHandler:(StatusCompletion)completionHandler;
  - (void)getRelayStatusLogWithCompletionHandler:(void (^)(CHIPThermostatClusterGetRelayStatusLogResponseParams * _Nullable data,
                                                     NSError * _Nullable error))completionHandler;
  - (void)getWeeklyScheduleWithParams:(CHIPThermostatClusterGetWeeklyScheduleParams *)params
                    completionHandler:(void (^)(CHIPThermostatClusterGetWeeklyScheduleResponseParams * _Nullable data,
                                          NSError * _Nullable error))completionHandler;
  - (void)setWeeklyScheduleWithParams:(CHIPThermostatClusterSetWeeklyScheduleParams *)params
                    completionHandler:(StatusCompletion)completionHandler;
  - (void)setpointRaiseLowerWithParams:(CHIPThermostatClusterSetpointRaiseLowerParams *)params
                     completionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeLocalTemperatureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeLocalTemperatureWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAbsMinHeatSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAbsMinHeatSetpointLimitWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAbsMaxHeatSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAbsMaxHeatSetpointLimitWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAbsMinCoolSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAbsMinCoolSetpointLimitWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAbsMaxCoolSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAbsMaxCoolSetpointLimitWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOccupiedCoolingSetpointWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOccupiedCoolingSetpointWithValue:(NSNumber * _Nonnull)value
                                       completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOccupiedCoolingSetpointWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOccupiedHeatingSetpointWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)writeAttributeOccupiedHeatingSetpointWithValue:(NSNumber * _Nonnull)value
                                       completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeOccupiedHeatingSetpointWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinHeatSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)writeAttributeMinHeatSetpointLimitWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeMinHeatSetpointLimitWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxHeatSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)writeAttributeMaxHeatSetpointLimitWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeMaxHeatSetpointLimitWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinCoolSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)writeAttributeMinCoolSetpointLimitWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeMinCoolSetpointLimitWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMaxCoolSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)writeAttributeMaxCoolSetpointLimitWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeMaxCoolSetpointLimitWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMinSetpointDeadBandWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)writeAttributeMinSetpointDeadBandWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeMinSetpointDeadBandWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeControlSequenceOfOperationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)writeAttributeControlSequenceOfOperationWithValue:(NSNumber * _Nonnull)value
                                          completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeControlSequenceOfOperationWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSystemModeWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeSystemModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeSystemModeWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeStartOfWeekWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeStartOfWeekWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNumberOfWeeklyTransitionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNumberOfWeeklyTransitionsWithMinInterval:(uint16_t)minInterval
                                                         maxInterval:(uint16_t)maxInterval
                                             subscriptionEstablished:
                                                 (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                       reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNumberOfDailyTransitionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNumberOfDailyTransitionsWithMinInterval:(uint16_t)minInterval
                                                        maxInterval:(uint16_t)maxInterval
                                            subscriptionEstablished:
                                                (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                      reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Thermostat User Interface Configuration
   *
   */
  @interface CHIPThermostatUserInterfaceConfiguration : CHIPCluster
  
  - (void)readAttributeTemperatureDisplayModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler;
  - (void)writeAttributeTemperatureDisplayModeWithValue:(NSNumber * _Nonnull)value
                                      completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeTemperatureDisplayModeWithMinInterval:(uint16_t)minInterval
                                                      maxInterval:(uint16_t)maxInterval
                                          subscriptionEstablished:
                                              (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                    reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeKeypadLockoutWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)writeAttributeKeypadLockoutWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeKeypadLockoutWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeScheduleProgrammingVisibilityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                              NSError * _Nullable error))completionHandler;
  - (void)writeAttributeScheduleProgrammingVisibilityWithValue:(NSNumber * _Nonnull)value
                                             completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeScheduleProgrammingVisibilityWithMinInterval:(uint16_t)minInterval
                                                             maxInterval:(uint16_t)maxInterval
                                                 subscriptionEstablished:
                                                     (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                           reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Thread Network Diagnostics
   *
   */
  @interface CHIPThreadNetworkDiagnostics : CHIPCluster
  
  - (void)resetCountsWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeChannelWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeChannelWithMinInterval:(uint16_t)minInterval
                                       maxInterval:(uint16_t)maxInterval
                           subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                     reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRoutingRoleWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRoutingRoleWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNetworkNameWithCompletionHandler:(void (^)(
                                                            NSString * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNetworkNameWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePanIdWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePanIdWithMinInterval:(uint16_t)minInterval
                                     maxInterval:(uint16_t)maxInterval
                         subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                   reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeExtendedPanIdWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeExtendedPanIdWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeMeshLocalPrefixWithCompletionHandler:(void (^)(NSData * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeMeshLocalPrefixWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSData * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOverrunCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeOverrunCountWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeNeighborTableListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeNeighborTableListWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRouteTableListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRouteTableListWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePartitionIdWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePartitionIdWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeWeightingWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeWeightingWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeDataVersionWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeDataVersionWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeStableDataVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeStableDataVersionWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLeaderRouterIdWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeLeaderRouterIdWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeDetachedRoleCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeDetachedRoleCountWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeChildRoleCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeChildRoleCountWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRouterRoleCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRouterRoleCountWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeLeaderRoleCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeLeaderRoleCountWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttachAttemptCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttachAttemptCountWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePartitionIdChangeCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePartitionIdChangeCountWithMinInterval:(uint16_t)minInterval
                                                      maxInterval:(uint16_t)maxInterval
                                          subscriptionEstablished:
                                              (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                    reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBetterPartitionAttachAttemptCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBetterPartitionAttachAttemptCountWithMinInterval:(uint16_t)minInterval
                                                                 maxInterval:(uint16_t)maxInterval
                                                     subscriptionEstablished:
                                                         (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                               reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                                 NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeParentChangeCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeParentChangeCountWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxTotalCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxTotalCountWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxUnicastCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxUnicastCountWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxBroadcastCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxBroadcastCountWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxAckRequestedCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxAckRequestedCountWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxAckedCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxAckedCountWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxNoAckRequestedCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxNoAckRequestedCountWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxDataCountWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxDataCountWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxDataPollCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxDataPollCountWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxBeaconCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxBeaconCountWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxBeaconRequestCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxBeaconRequestCountWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxOtherCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxOtherCountWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxRetryCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxRetryCountWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxDirectMaxRetryExpiryCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxDirectMaxRetryExpiryCountWithMinInterval:(uint16_t)minInterval
                                                           maxInterval:(uint16_t)maxInterval
                                               subscriptionEstablished:
                                                   (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                         reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxIndirectMaxRetryExpiryCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxIndirectMaxRetryExpiryCountWithMinInterval:(uint16_t)minInterval
                                                             maxInterval:(uint16_t)maxInterval
                                                 subscriptionEstablished:
                                                     (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                           reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxErrCcaCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxErrCcaCountWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxErrAbortCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxErrAbortCountWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTxErrBusyChannelCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTxErrBusyChannelCountWithMinInterval:(uint16_t)minInterval
                                                     maxInterval:(uint16_t)maxInterval
                                         subscriptionEstablished:
                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                   reportHandler:
                                                       (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxTotalCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxTotalCountWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxUnicastCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxUnicastCountWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxBroadcastCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxBroadcastCountWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxDataCountWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxDataCountWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxDataPollCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxDataPollCountWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxBeaconCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxBeaconCountWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxBeaconRequestCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxBeaconRequestCountWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxOtherCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxOtherCountWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxAddressFilteredCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxAddressFilteredCountWithMinInterval:(uint16_t)minInterval
                                                      maxInterval:(uint16_t)maxInterval
                                          subscriptionEstablished:
                                              (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                    reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxDestAddrFilteredCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxDestAddrFilteredCountWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxDuplicatedCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxDuplicatedCountWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxErrNoFrameCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxErrNoFrameCountWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxErrUnknownNeighborCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxErrUnknownNeighborCountWithMinInterval:(uint16_t)minInterval
                                                         maxInterval:(uint16_t)maxInterval
                                             subscriptionEstablished:
                                                 (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                       reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxErrInvalidSrcAddrCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxErrInvalidSrcAddrCountWithMinInterval:(uint16_t)minInterval
                                                        maxInterval:(uint16_t)maxInterval
                                            subscriptionEstablished:
                                                (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                      reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxErrSecCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxErrSecCountWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxErrFcsCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxErrFcsCountWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRxErrOtherCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRxErrOtherCountWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeActiveTimestampWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeActiveTimestampWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePendingTimestampWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePendingTimestampWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                    subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                              reportHandler:
                                                  (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeDelayWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeDelayWithMinInterval:(uint16_t)minInterval
                                     maxInterval:(uint16_t)maxInterval
                         subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                   reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSecurityPolicyWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSecurityPolicyWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeChannelMaskWithCompletionHandler:(void (^)(
                                                            NSData * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeChannelMaskWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOperationalDatasetComponentsWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeOperationalDatasetComponentsWithMinInterval:(uint16_t)minInterval
                                                            maxInterval:(uint16_t)maxInterval
                                                subscriptionEstablished:
                                                    (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                          reportHandler:(void (^)(NSArray * _Nullable value,
                                                                            NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeActiveNetworkFaultsListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeActiveNetworkFaultsListWithMinInterval:(uint16_t)minInterval
                                                       maxInterval:(uint16_t)maxInterval
                                           subscriptionEstablished:
                                               (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                     reportHandler:(void (^)(NSArray * _Nullable value,
                                                                       NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Time Format Localization
   *
   */
  @interface CHIPTimeFormatLocalization : CHIPCluster
  
  - (void)readAttributeHourFormatWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeHourFormatWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeHourFormatWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeActiveCalendarTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler;
  - (void)writeAttributeActiveCalendarTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeActiveCalendarTypeWithMinInterval:(uint16_t)minInterval
                                                  maxInterval:(uint16_t)maxInterval
                                      subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                reportHandler:
                                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSupportedCalendarTypesWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSupportedCalendarTypesWithMinInterval:(uint16_t)minInterval
                                                      maxInterval:(uint16_t)maxInterval
                                          subscriptionEstablished:
                                              (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                    reportHandler:
                                                        (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Unit Localization
   *
   */
  @interface CHIPUnitLocalization : CHIPCluster
  
  - (void)readAttributeTemperatureUnitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)writeAttributeTemperatureUnitWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeTemperatureUnitWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster User Label
   *
   */
  @interface CHIPUserLabel : CHIPCluster
  
  - (void)readAttributeLabelListWithCompletionHandler:(void (^)(
                                                          NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeLabelListWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeLabelListWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                       reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Wake on LAN
   *
   */
  @interface CHIPWakeOnLan : CHIPCluster
  
  - (void)readAttributeWakeOnLanMacAddressWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeWakeOnLanMacAddressWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster WiFi Network Diagnostics
   *
   */
  @interface CHIPWiFiNetworkDiagnostics : CHIPCluster
  
  - (void)resetCountsWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeBssidWithCompletionHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBssidWithMinInterval:(uint16_t)minInterval
                                     maxInterval:(uint16_t)maxInterval
                         subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                   reportHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSecurityTypeWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSecurityTypeWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeWiFiVersionWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeWiFiVersionWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                         reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeChannelNumberWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeChannelNumberWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeRssiWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeRssiWithMinInterval:(uint16_t)minInterval
                                    maxInterval:(uint16_t)maxInterval
                        subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                  reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBeaconLostCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBeaconLostCountWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeBeaconRxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeBeaconRxCountWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePacketMulticastRxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePacketMulticastRxCountWithMinInterval:(uint16_t)minInterval
                                                      maxInterval:(uint16_t)maxInterval
                                          subscriptionEstablished:
                                              (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                    reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePacketMulticastTxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePacketMulticastTxCountWithMinInterval:(uint16_t)minInterval
                                                      maxInterval:(uint16_t)maxInterval
                                          subscriptionEstablished:
                                              (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                    reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePacketUnicastRxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePacketUnicastRxCountWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributePacketUnicastTxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributePacketUnicastTxCountWithMinInterval:(uint16_t)minInterval
                                                    maxInterval:(uint16_t)maxInterval
                                        subscriptionEstablished:
                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                  reportHandler:
                                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentMaxRateWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentMaxRateWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOverrunCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeOverrunCountWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  /**
   * Cluster Window Covering
   *
   */
  @interface CHIPWindowCovering : CHIPCluster
  
  - (void)downOrCloseWithCompletionHandler:(StatusCompletion)completionHandler;
  - (void)goToLiftPercentageWithParams:(CHIPWindowCoveringClusterGoToLiftPercentageParams *)params
                     completionHandler:(StatusCompletion)completionHandler;
  - (void)goToLiftValueWithParams:(CHIPWindowCoveringClusterGoToLiftValueParams *)params
                completionHandler:(StatusCompletion)completionHandler;
  - (void)goToTiltPercentageWithParams:(CHIPWindowCoveringClusterGoToTiltPercentageParams *)params
                     completionHandler:(StatusCompletion)completionHandler;
  - (void)goToTiltValueWithParams:(CHIPWindowCoveringClusterGoToTiltValueParams *)params
                completionHandler:(StatusCompletion)completionHandler;
  - (void)stopMotionWithCompletionHandler:(StatusCompletion)completionHandler;
  - (void)upOrOpenWithCompletionHandler:(StatusCompletion)completionHandler;
  
  - (void)readAttributeTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTypeWithMinInterval:(uint16_t)minInterval
                                    maxInterval:(uint16_t)maxInterval
                        subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                  reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentPositionLiftWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentPositionLiftWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentPositionTiltWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentPositionTiltWithMinInterval:(uint16_t)minInterval
                                                   maxInterval:(uint16_t)maxInterval
                                       subscriptionEstablished:
                                           (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                 reportHandler:
                                                     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeConfigStatusWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeConfigStatusWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentPositionLiftPercentageWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentPositionLiftPercentageWithMinInterval:(uint16_t)minInterval
                                                             maxInterval:(uint16_t)maxInterval
                                                 subscriptionEstablished:
                                                     (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                           reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentPositionTiltPercentageWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                              NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentPositionTiltPercentageWithMinInterval:(uint16_t)minInterval
                                                             maxInterval:(uint16_t)maxInterval
                                                 subscriptionEstablished:
                                                     (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                           reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeOperationalStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeOperationalStatusWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                     subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                               reportHandler:
                                                   (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTargetPositionLiftPercent100thsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTargetPositionLiftPercent100thsWithMinInterval:(uint16_t)minInterval
                                                               maxInterval:(uint16_t)maxInterval
                                                   subscriptionEstablished:
                                                       (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                             reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeTargetPositionTiltPercent100thsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeTargetPositionTiltPercent100thsWithMinInterval:(uint16_t)minInterval
                                                               maxInterval:(uint16_t)maxInterval
                                                   subscriptionEstablished:
                                                       (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                             reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeEndProductTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeEndProductTypeWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                            reportHandler:
                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentPositionLiftPercent100thsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentPositionLiftPercent100thsWithMinInterval:(uint16_t)minInterval
                                                                maxInterval:(uint16_t)maxInterval
                                                    subscriptionEstablished:
                                                        (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                              reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                                NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeCurrentPositionTiltPercent100thsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                 NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeCurrentPositionTiltPercent100thsWithMinInterval:(uint16_t)minInterval
                                                                maxInterval:(uint16_t)maxInterval
                                                    subscriptionEstablished:
                                                        (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                              reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                                NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInstalledOpenLimitLiftWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeInstalledOpenLimitLiftWithMinInterval:(uint16_t)minInterval
                                                      maxInterval:(uint16_t)maxInterval
                                          subscriptionEstablished:
                                              (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                    reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInstalledClosedLimitLiftWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeInstalledClosedLimitLiftWithMinInterval:(uint16_t)minInterval
                                                        maxInterval:(uint16_t)maxInterval
                                            subscriptionEstablished:
                                                (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                      reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInstalledOpenLimitTiltWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeInstalledOpenLimitTiltWithMinInterval:(uint16_t)minInterval
                                                      maxInterval:(uint16_t)maxInterval
                                          subscriptionEstablished:
                                              (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                    reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeInstalledClosedLimitTiltWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeInstalledClosedLimitTiltWithMinInterval:(uint16_t)minInterval
                                                        maxInterval:(uint16_t)maxInterval
                                            subscriptionEstablished:
                                                (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                      reportHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)writeAttributeModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
  - (void)subscribeAttributeModeWithMinInterval:(uint16_t)minInterval
                                    maxInterval:(uint16_t)maxInterval
                        subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                  reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeSafetyStatusWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeSafetyStatusWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                          reportHandler:
                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(uint16_t)minInterval
                                                          maxInterval:(uint16_t)maxInterval
                                              subscriptionEstablished:
                                                  (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                                        reportHandler:(void (^)(NSArray * _Nullable value,
                                                                          NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeAttributeListWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeFeatureMapWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                        reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler;
  - (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                   subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                             reportHandler:
                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
  
  @end
  
  NS_ASSUME_NONNULL_END
  
  #endif /* CHIP_CLUSTERS_H */
  