/*
 *
 *    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
#include <app-common/zap-generated/cluster-objects.h>
#include <app/util/af-enums.h>

typedef void (*CHIPDefaultSuccessCallbackType)(void *, const chip::app::DataModel::NullObjectType &);
typedef void (*CHIPDefaultWriteSuccessCallbackType)(void *);
typedef void (*CHIPDefaultFailureCallbackType)(void *, CHIP_ERROR);

typedef void (*CHIPIdentifyClusterIdentifyTimeAttributeCallbackType)(
    void *, chip::app::Clusters::Identify::Attributes::IdentifyTime::TypeInfo::DecodableArgType);
typedef void (*CHIPIdentifyClusterIdentifyTypeAttributeCallbackType)(
    void *, chip::app::Clusters::Identify::Attributes::IdentifyType::TypeInfo::DecodableArgType);
typedef void (*CHIPIdentifyClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Identify::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPIdentifyClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Identify::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPIdentifyClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::Identify::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPIdentifyClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::Identify::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPIdentifyClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::Identify::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPGroupsClusterAddGroupResponseCallbackType)(
    void *, const chip::app::Clusters::Groups::Commands::AddGroupResponse::DecodableType &);
typedef void (*CHIPGroupsClusterViewGroupResponseCallbackType)(
    void *, const chip::app::Clusters::Groups::Commands::ViewGroupResponse::DecodableType &);
typedef void (*CHIPGroupsClusterGetGroupMembershipResponseCallbackType)(
    void *, const chip::app::Clusters::Groups::Commands::GetGroupMembershipResponse::DecodableType &);
typedef void (*CHIPGroupsClusterRemoveGroupResponseCallbackType)(
    void *, const chip::app::Clusters::Groups::Commands::RemoveGroupResponse::DecodableType &);

typedef void (*CHIPGroupsClusterNameSupportAttributeCallbackType)(
    void *, chip::app::Clusters::Groups::Attributes::NameSupport::TypeInfo::DecodableArgType);
typedef void (*CHIPGroupsClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Groups::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPGroupsClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Groups::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPGroupsClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::Groups::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPGroupsClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::Groups::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPGroupsClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::Groups::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPScenesClusterAddSceneResponseCallbackType)(
    void *, const chip::app::Clusters::Scenes::Commands::AddSceneResponse::DecodableType &);
typedef void (*CHIPScenesClusterViewSceneResponseCallbackType)(
    void *, const chip::app::Clusters::Scenes::Commands::ViewSceneResponse::DecodableType &);
typedef void (*CHIPScenesClusterRemoveSceneResponseCallbackType)(
    void *, const chip::app::Clusters::Scenes::Commands::RemoveSceneResponse::DecodableType &);
typedef void (*CHIPScenesClusterRemoveAllScenesResponseCallbackType)(
    void *, const chip::app::Clusters::Scenes::Commands::RemoveAllScenesResponse::DecodableType &);
typedef void (*CHIPScenesClusterStoreSceneResponseCallbackType)(
    void *, const chip::app::Clusters::Scenes::Commands::StoreSceneResponse::DecodableType &);
typedef void (*CHIPScenesClusterGetSceneMembershipResponseCallbackType)(
    void *, const chip::app::Clusters::Scenes::Commands::GetSceneMembershipResponse::DecodableType &);

typedef void (*CHIPScenesClusterSceneCountAttributeCallbackType)(
    void *, chip::app::Clusters::Scenes::Attributes::SceneCount::TypeInfo::DecodableArgType);
typedef void (*CHIPScenesClusterCurrentSceneAttributeCallbackType)(
    void *, chip::app::Clusters::Scenes::Attributes::CurrentScene::TypeInfo::DecodableArgType);
typedef void (*CHIPScenesClusterCurrentGroupAttributeCallbackType)(
    void *, chip::app::Clusters::Scenes::Attributes::CurrentGroup::TypeInfo::DecodableArgType);
typedef void (*CHIPScenesClusterSceneValidAttributeCallbackType)(
    void *, chip::app::Clusters::Scenes::Attributes::SceneValid::TypeInfo::DecodableArgType);
typedef void (*CHIPScenesClusterNameSupportAttributeCallbackType)(
    void *, chip::app::Clusters::Scenes::Attributes::NameSupport::TypeInfo::DecodableArgType);
typedef void (*CHIPScenesClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Scenes::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPScenesClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Scenes::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPScenesClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::Scenes::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPScenesClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::Scenes::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPScenesClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::Scenes::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPOnOffClusterOnOffAttributeCallbackType)(
    void *, chip::app::Clusters::OnOff::Attributes::OnOff::TypeInfo::DecodableArgType);
typedef void (*CHIPOnOffClusterGlobalSceneControlAttributeCallbackType)(
    void *, chip::app::Clusters::OnOff::Attributes::GlobalSceneControl::TypeInfo::DecodableArgType);
typedef void (*CHIPOnOffClusterOnTimeAttributeCallbackType)(
    void *, chip::app::Clusters::OnOff::Attributes::OnTime::TypeInfo::DecodableArgType);
typedef void (*CHIPOnOffClusterOffWaitTimeAttributeCallbackType)(
    void *, chip::app::Clusters::OnOff::Attributes::OffWaitTime::TypeInfo::DecodableArgType);
typedef void (*CHIPOnOffClusterStartUpOnOffAttributeCallbackType)(
    void *, chip::app::Clusters::OnOff::Attributes::StartUpOnOff::TypeInfo::DecodableArgType);
typedef void (*CHIPOnOffClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::OnOff::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPOnOffClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::OnOff::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPOnOffClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::OnOff::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPOnOffClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::OnOff::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPOnOffClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::OnOff::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPOnOffSwitchConfigurationClusterSwitchTypeAttributeCallbackType)(
    void *, chip::app::Clusters::OnOffSwitchConfiguration::Attributes::SwitchType::TypeInfo::DecodableArgType);
typedef void (*CHIPOnOffSwitchConfigurationClusterSwitchActionsAttributeCallbackType)(
    void *, chip::app::Clusters::OnOffSwitchConfiguration::Attributes::SwitchActions::TypeInfo::DecodableArgType);
typedef void (*CHIPOnOffSwitchConfigurationClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::OnOffSwitchConfiguration::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPOnOffSwitchConfigurationClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::OnOffSwitchConfiguration::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPOnOffSwitchConfigurationClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::OnOffSwitchConfiguration::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPOnOffSwitchConfigurationClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::OnOffSwitchConfiguration::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPOnOffSwitchConfigurationClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::OnOffSwitchConfiguration::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPLevelControlClusterCurrentLevelAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::CurrentLevel::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterRemainingTimeAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::RemainingTime::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterMinLevelAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::MinLevel::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterMaxLevelAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::MaxLevel::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterCurrentFrequencyAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::CurrentFrequency::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterMinFrequencyAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::MinFrequency::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterMaxFrequencyAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::MaxFrequency::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterOptionsAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::Options::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterOnOffTransitionTimeAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::OnOffTransitionTime::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterOnLevelAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::OnLevel::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterOnTransitionTimeAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::OnTransitionTime::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterOffTransitionTimeAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::OffTransitionTime::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterDefaultMoveRateAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::DefaultMoveRate::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterStartUpCurrentLevelAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::StartUpCurrentLevel::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::LevelControl::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPLevelControlClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::LevelControl::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPLevelControlClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::LevelControl::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPLevelControlClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPLevelControlClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::LevelControl::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPBinaryInputBasicClusterOutOfServiceAttributeCallbackType)(
    void *, chip::app::Clusters::BinaryInputBasic::Attributes::OutOfService::TypeInfo::DecodableArgType);
typedef void (*CHIPBinaryInputBasicClusterPresentValueAttributeCallbackType)(
    void *, chip::app::Clusters::BinaryInputBasic::Attributes::PresentValue::TypeInfo::DecodableArgType);
typedef void (*CHIPBinaryInputBasicClusterStatusFlagsAttributeCallbackType)(
    void *, chip::app::Clusters::BinaryInputBasic::Attributes::StatusFlags::TypeInfo::DecodableArgType);
typedef void (*CHIPBinaryInputBasicClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::BinaryInputBasic::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBinaryInputBasicClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::BinaryInputBasic::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBinaryInputBasicClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::BinaryInputBasic::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBinaryInputBasicClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::BinaryInputBasic::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPBinaryInputBasicClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::BinaryInputBasic::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPDescriptorClusterDeviceListAttributeCallbackType)(
    void *, const chip::app::Clusters::Descriptor::Attributes::DeviceList::TypeInfo::DecodableType &);
typedef void (*CHIPDescriptorClusterServerListAttributeCallbackType)(
    void *, const chip::app::Clusters::Descriptor::Attributes::ServerList::TypeInfo::DecodableType &);
typedef void (*CHIPDescriptorClusterClientListAttributeCallbackType)(
    void *, const chip::app::Clusters::Descriptor::Attributes::ClientList::TypeInfo::DecodableType &);
typedef void (*CHIPDescriptorClusterPartsListAttributeCallbackType)(
    void *, const chip::app::Clusters::Descriptor::Attributes::PartsList::TypeInfo::DecodableType &);
typedef void (*CHIPDescriptorClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Descriptor::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPDescriptorClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Descriptor::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPDescriptorClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::Descriptor::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPDescriptorClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::Descriptor::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPDescriptorClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::Descriptor::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPBindingClusterBindingAttributeCallbackType)(
    void *, const chip::app::Clusters::Binding::Attributes::Binding::TypeInfo::DecodableType &);
typedef void (*CHIPBindingClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Binding::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBindingClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Binding::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBindingClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::Binding::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBindingClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::Binding::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPBindingClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::Binding::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPAccessControlClusterAclAttributeCallbackType)(
    void *, const chip::app::Clusters::AccessControl::Attributes::Acl::TypeInfo::DecodableType &);
typedef void (*CHIPAccessControlClusterExtensionAttributeCallbackType)(
    void *, const chip::app::Clusters::AccessControl::Attributes::Extension::TypeInfo::DecodableType &);
typedef void (*CHIPAccessControlClusterSubjectsPerAccessControlEntryAttributeCallbackType)(
    void *, chip::app::Clusters::AccessControl::Attributes::SubjectsPerAccessControlEntry::TypeInfo::DecodableArgType);
typedef void (*CHIPAccessControlClusterTargetsPerAccessControlEntryAttributeCallbackType)(
    void *, chip::app::Clusters::AccessControl::Attributes::TargetsPerAccessControlEntry::TypeInfo::DecodableArgType);
typedef void (*CHIPAccessControlClusterAccessControlEntriesPerFabricAttributeCallbackType)(
    void *, chip::app::Clusters::AccessControl::Attributes::AccessControlEntriesPerFabric::TypeInfo::DecodableArgType);
typedef void (*CHIPAccessControlClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::AccessControl::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPAccessControlClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::AccessControl::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPAccessControlClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::AccessControl::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPAccessControlClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::AccessControl::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPAccessControlClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::AccessControl::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPBridgedActionsClusterActionListAttributeCallbackType)(
    void *, const chip::app::Clusters::BridgedActions::Attributes::ActionList::TypeInfo::DecodableType &);
typedef void (*CHIPBridgedActionsClusterEndpointListAttributeCallbackType)(
    void *, const chip::app::Clusters::BridgedActions::Attributes::EndpointList::TypeInfo::DecodableType &);
typedef void (*CHIPBridgedActionsClusterSetupUrlAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedActions::Attributes::SetupUrl::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedActionsClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::BridgedActions::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBridgedActionsClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::BridgedActions::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBridgedActionsClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::BridgedActions::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBridgedActionsClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedActions::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedActionsClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedActions::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPBasicClusterDataModelRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::DataModelRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterVendorNameAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::VendorName::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterVendorIDAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::VendorID::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterProductNameAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::ProductName::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterProductIDAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::ProductID::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterNodeLabelAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::NodeLabel::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterLocationAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::Location::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterHardwareVersionAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::HardwareVersion::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterHardwareVersionStringAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::HardwareVersionString::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterSoftwareVersionAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::SoftwareVersion::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterSoftwareVersionStringAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::SoftwareVersionString::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterManufacturingDateAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::ManufacturingDate::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterPartNumberAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::PartNumber::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterProductURLAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::ProductURL::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterProductLabelAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::ProductLabel::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterSerialNumberAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::SerialNumber::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterLocalConfigDisabledAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::LocalConfigDisabled::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterReachableAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::Reachable::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterUniqueIDAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::UniqueID::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterCapabilityMinimaAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::CapabilityMinima::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Basic::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBasicClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Basic::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBasicClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::Basic::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBasicClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPBasicClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::Basic::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPOtaSoftwareUpdateProviderClusterQueryImageResponseCallbackType)(
    void *, const chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::QueryImageResponse::DecodableType &);
typedef void (*CHIPOtaSoftwareUpdateProviderClusterApplyUpdateResponseCallbackType)(
    void *, const chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::ApplyUpdateResponse::DecodableType &);

typedef void (*CHIPOtaSoftwareUpdateProviderClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::OtaSoftwareUpdateProvider::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPOtaSoftwareUpdateProviderClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::OtaSoftwareUpdateProvider::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPOtaSoftwareUpdateProviderClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::OtaSoftwareUpdateProvider::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPOtaSoftwareUpdateRequestorClusterDefaultOtaProvidersAttributeCallbackType)(
    void *, const chip::app::Clusters::OtaSoftwareUpdateRequestor::Attributes::DefaultOtaProviders::TypeInfo::DecodableType &);
typedef void (*CHIPOtaSoftwareUpdateRequestorClusterUpdatePossibleAttributeCallbackType)(
    void *, chip::app::Clusters::OtaSoftwareUpdateRequestor::Attributes::UpdatePossible::TypeInfo::DecodableArgType);
typedef void (*CHIPOtaSoftwareUpdateRequestorClusterUpdateStateAttributeCallbackType)(
    void *, chip::app::Clusters::OtaSoftwareUpdateRequestor::Attributes::UpdateState::TypeInfo::DecodableArgType);
typedef void (*CHIPOtaSoftwareUpdateRequestorClusterUpdateStateProgressAttributeCallbackType)(
    void *, chip::app::Clusters::OtaSoftwareUpdateRequestor::Attributes::UpdateStateProgress::TypeInfo::DecodableArgType);
typedef void (*CHIPOtaSoftwareUpdateRequestorClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::OtaSoftwareUpdateRequestor::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPOtaSoftwareUpdateRequestorClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::OtaSoftwareUpdateRequestor::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPOtaSoftwareUpdateRequestorClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::OtaSoftwareUpdateRequestor::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPLocalizationConfigurationClusterActiveLocaleAttributeCallbackType)(
    void *, chip::app::Clusters::LocalizationConfiguration::Attributes::ActiveLocale::TypeInfo::DecodableArgType);
typedef void (*CHIPLocalizationConfigurationClusterSupportedLocalesAttributeCallbackType)(
    void *, const chip::app::Clusters::LocalizationConfiguration::Attributes::SupportedLocales::TypeInfo::DecodableType &);
typedef void (*CHIPLocalizationConfigurationClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::LocalizationConfiguration::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPLocalizationConfigurationClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::LocalizationConfiguration::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPLocalizationConfigurationClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::LocalizationConfiguration::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPLocalizationConfigurationClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::LocalizationConfiguration::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPTimeFormatLocalizationClusterHourFormatAttributeCallbackType)(
    void *, chip::app::Clusters::TimeFormatLocalization::Attributes::HourFormat::TypeInfo::DecodableArgType);
typedef void (*CHIPTimeFormatLocalizationClusterActiveCalendarTypeAttributeCallbackType)(
    void *, chip::app::Clusters::TimeFormatLocalization::Attributes::ActiveCalendarType::TypeInfo::DecodableArgType);
typedef void (*CHIPTimeFormatLocalizationClusterSupportedCalendarTypesAttributeCallbackType)(
    void *, const chip::app::Clusters::TimeFormatLocalization::Attributes::SupportedCalendarTypes::TypeInfo::DecodableType &);
typedef void (*CHIPTimeFormatLocalizationClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::TimeFormatLocalization::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPTimeFormatLocalizationClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::TimeFormatLocalization::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPTimeFormatLocalizationClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::TimeFormatLocalization::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPTimeFormatLocalizationClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::TimeFormatLocalization::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPUnitLocalizationClusterTemperatureUnitAttributeCallbackType)(
    void *, chip::app::Clusters::UnitLocalization::Attributes::TemperatureUnit::TypeInfo::DecodableArgType);
typedef void (*CHIPUnitLocalizationClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::UnitLocalization::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPUnitLocalizationClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::UnitLocalization::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPUnitLocalizationClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::UnitLocalization::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPPowerSourceConfigurationClusterSourcesAttributeCallbackType)(
    void *, const chip::app::Clusters::PowerSourceConfiguration::Attributes::Sources::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceConfigurationClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::PowerSourceConfiguration::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceConfigurationClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::PowerSourceConfiguration::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceConfigurationClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::PowerSourceConfiguration::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceConfigurationClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSourceConfiguration::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceConfigurationClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSourceConfiguration::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPPowerSourceClusterStatusAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::Status::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterOrderAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::Order::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterDescriptionAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::Description::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterWiredAssessedInputVoltageAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::WiredAssessedInputVoltage::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterWiredAssessedInputFrequencyAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::WiredAssessedInputFrequency::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterWiredCurrentTypeAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::WiredCurrentType::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterWiredAssessedCurrentAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::WiredAssessedCurrent::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterWiredNominalVoltageAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::WiredNominalVoltage::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterWiredMaximumCurrentAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::WiredMaximumCurrent::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterWiredPresentAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::WiredPresent::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterActiveWiredFaultsAttributeCallbackType)(
    void *, const chip::app::Clusters::PowerSource::Attributes::ActiveWiredFaults::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceClusterBatVoltageAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatVoltage::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatPercentRemainingAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatPercentRemaining::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatTimeRemainingAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatTimeRemaining::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatChargeLevelAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatChargeLevel::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatReplacementNeededAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatReplacementNeeded::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatReplaceabilityAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatReplaceability::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatPresentAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatPresent::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterActiveBatFaultsAttributeCallbackType)(
    void *, const chip::app::Clusters::PowerSource::Attributes::ActiveBatFaults::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceClusterBatReplacementDescriptionAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatReplacementDescription::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatCommonDesignationAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatCommonDesignation::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatANSIDesignationAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatANSIDesignation::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatIECDesignationAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatIECDesignation::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatApprovedChemistryAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatApprovedChemistry::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatCapacityAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatCapacity::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatQuantityAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatQuantity::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatChargeStateAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatChargeState::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatTimeToFullChargeAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatTimeToFullCharge::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatFunctionalWhileChargingAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatFunctionalWhileCharging::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterBatChargingCurrentAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::BatChargingCurrent::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterActiveBatChargeFaultsAttributeCallbackType)(
    void *, const chip::app::Clusters::PowerSource::Attributes::ActiveBatChargeFaults::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::PowerSource::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::PowerSource::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::PowerSource::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPPowerSourceClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPPowerSourceClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::PowerSource::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralCommissioningClusterArmFailSafeResponseCallbackType)(
    void *, const chip::app::Clusters::GeneralCommissioning::Commands::ArmFailSafeResponse::DecodableType &);
typedef void (*CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackType)(
    void *, const chip::app::Clusters::GeneralCommissioning::Commands::SetRegulatoryConfigResponse::DecodableType &);
typedef void (*CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallbackType)(
    void *, const chip::app::Clusters::GeneralCommissioning::Commands::CommissioningCompleteResponse::DecodableType &);

typedef void (*CHIPGeneralCommissioningClusterBreadcrumbAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralCommissioning::Attributes::Breadcrumb::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralCommissioningClusterBasicCommissioningInfoAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralCommissioning::Attributes::BasicCommissioningInfo::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralCommissioningClusterRegulatoryConfigAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralCommissioning::Attributes::RegulatoryConfig::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralCommissioningClusterLocationCapabilityAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralCommissioning::Attributes::LocationCapability::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralCommissioningClusterSupportsConcurrentConnectionAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralCommissioning::Attributes::SupportsConcurrentConnection::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralCommissioningClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::GeneralCommissioning::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralCommissioningClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::GeneralCommissioning::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralCommissioningClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::GeneralCommissioning::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralCommissioningClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralCommissioning::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralCommissioningClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralCommissioning::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPNetworkCommissioningClusterScanNetworksResponseCallbackType)(
    void *, const chip::app::Clusters::NetworkCommissioning::Commands::ScanNetworksResponse::DecodableType &);
typedef void (*CHIPNetworkCommissioningClusterNetworkConfigResponseCallbackType)(
    void *, const chip::app::Clusters::NetworkCommissioning::Commands::NetworkConfigResponse::DecodableType &);
typedef void (*CHIPNetworkCommissioningClusterConnectNetworkResponseCallbackType)(
    void *, const chip::app::Clusters::NetworkCommissioning::Commands::ConnectNetworkResponse::DecodableType &);

typedef void (*CHIPNetworkCommissioningClusterMaxNetworksAttributeCallbackType)(
    void *, chip::app::Clusters::NetworkCommissioning::Attributes::MaxNetworks::TypeInfo::DecodableArgType);
typedef void (*CHIPNetworkCommissioningClusterNetworksAttributeCallbackType)(
    void *, const chip::app::Clusters::NetworkCommissioning::Attributes::Networks::TypeInfo::DecodableType &);
typedef void (*CHIPNetworkCommissioningClusterScanMaxTimeSecondsAttributeCallbackType)(
    void *, chip::app::Clusters::NetworkCommissioning::Attributes::ScanMaxTimeSeconds::TypeInfo::DecodableArgType);
typedef void (*CHIPNetworkCommissioningClusterConnectMaxTimeSecondsAttributeCallbackType)(
    void *, chip::app::Clusters::NetworkCommissioning::Attributes::ConnectMaxTimeSeconds::TypeInfo::DecodableArgType);
typedef void (*CHIPNetworkCommissioningClusterInterfaceEnabledAttributeCallbackType)(
    void *, chip::app::Clusters::NetworkCommissioning::Attributes::InterfaceEnabled::TypeInfo::DecodableArgType);
typedef void (*CHIPNetworkCommissioningClusterLastNetworkingStatusAttributeCallbackType)(
    void *, chip::app::Clusters::NetworkCommissioning::Attributes::LastNetworkingStatus::TypeInfo::DecodableArgType);
typedef void (*CHIPNetworkCommissioningClusterLastNetworkIDAttributeCallbackType)(
    void *, chip::app::Clusters::NetworkCommissioning::Attributes::LastNetworkID::TypeInfo::DecodableArgType);
typedef void (*CHIPNetworkCommissioningClusterLastConnectErrorValueAttributeCallbackType)(
    void *, chip::app::Clusters::NetworkCommissioning::Attributes::LastConnectErrorValue::TypeInfo::DecodableArgType);
typedef void (*CHIPNetworkCommissioningClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::NetworkCommissioning::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPNetworkCommissioningClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::NetworkCommissioning::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPNetworkCommissioningClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::NetworkCommissioning::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPNetworkCommissioningClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::NetworkCommissioning::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPDiagnosticLogsClusterRetrieveLogsResponseCallbackType)(
    void *, const chip::app::Clusters::DiagnosticLogs::Commands::RetrieveLogsResponse::DecodableType &);

typedef void (*CHIPDiagnosticLogsClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::DiagnosticLogs::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPDiagnosticLogsClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::DiagnosticLogs::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPDiagnosticLogsClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::DiagnosticLogs::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPDiagnosticLogsClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::DiagnosticLogs::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPDiagnosticLogsClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::DiagnosticLogs::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPGeneralDiagnosticsClusterNetworkInterfacesAttributeCallbackType)(
    void *, const chip::app::Clusters::GeneralDiagnostics::Attributes::NetworkInterfaces::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralDiagnosticsClusterRebootCountAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralDiagnostics::Attributes::RebootCount::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralDiagnosticsClusterUpTimeAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralDiagnostics::Attributes::UpTime::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralDiagnosticsClusterTotalOperationalHoursAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralDiagnostics::Attributes::TotalOperationalHours::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralDiagnosticsClusterBootReasonsAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralDiagnostics::Attributes::BootReasons::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralDiagnosticsClusterActiveHardwareFaultsAttributeCallbackType)(
    void *, const chip::app::Clusters::GeneralDiagnostics::Attributes::ActiveHardwareFaults::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralDiagnosticsClusterActiveRadioFaultsAttributeCallbackType)(
    void *, const chip::app::Clusters::GeneralDiagnostics::Attributes::ActiveRadioFaults::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralDiagnosticsClusterActiveNetworkFaultsAttributeCallbackType)(
    void *, const chip::app::Clusters::GeneralDiagnostics::Attributes::ActiveNetworkFaults::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralDiagnosticsClusterTestEventTriggersEnabledAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralDiagnostics::Attributes::TestEventTriggersEnabled::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralDiagnosticsClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::GeneralDiagnostics::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralDiagnosticsClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::GeneralDiagnostics::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralDiagnosticsClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::GeneralDiagnostics::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPGeneralDiagnosticsClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralDiagnostics::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPGeneralDiagnosticsClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::GeneralDiagnostics::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPSoftwareDiagnosticsClusterThreadMetricsAttributeCallbackType)(
    void *, const chip::app::Clusters::SoftwareDiagnostics::Attributes::ThreadMetrics::TypeInfo::DecodableType &);
typedef void (*CHIPSoftwareDiagnosticsClusterCurrentHeapFreeAttributeCallbackType)(
    void *, chip::app::Clusters::SoftwareDiagnostics::Attributes::CurrentHeapFree::TypeInfo::DecodableArgType);
typedef void (*CHIPSoftwareDiagnosticsClusterCurrentHeapUsedAttributeCallbackType)(
    void *, chip::app::Clusters::SoftwareDiagnostics::Attributes::CurrentHeapUsed::TypeInfo::DecodableArgType);
typedef void (*CHIPSoftwareDiagnosticsClusterCurrentHeapHighWatermarkAttributeCallbackType)(
    void *, chip::app::Clusters::SoftwareDiagnostics::Attributes::CurrentHeapHighWatermark::TypeInfo::DecodableArgType);
typedef void (*CHIPSoftwareDiagnosticsClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::SoftwareDiagnostics::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPSoftwareDiagnosticsClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::SoftwareDiagnostics::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPSoftwareDiagnosticsClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::SoftwareDiagnostics::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPSoftwareDiagnosticsClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::SoftwareDiagnostics::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPSoftwareDiagnosticsClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::SoftwareDiagnostics::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPThreadNetworkDiagnosticsClusterChannelAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::Channel::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRoutingRoleAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RoutingRole::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterNetworkNameAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::NetworkName::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterPanIdAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::PanId::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterExtendedPanIdAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::ExtendedPanId::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterMeshLocalPrefixAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::MeshLocalPrefix::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterOverrunCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::OverrunCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterNeighborTableListAttributeCallbackType)(
    void *, const chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::NeighborTableList::TypeInfo::DecodableType &);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRouteTableListAttributeCallbackType)(
    void *, const chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RouteTableList::TypeInfo::DecodableType &);
typedef void (*CHIPThreadNetworkDiagnosticsClusterPartitionIdAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::PartitionId::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterWeightingAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::Weighting::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterDataVersionAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::DataVersion::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterStableDataVersionAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::StableDataVersion::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterLeaderRouterIdAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::LeaderRouterId::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterDetachedRoleCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::DetachedRoleCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterChildRoleCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::ChildRoleCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRouterRoleCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RouterRoleCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterLeaderRoleCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::LeaderRoleCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterAttachAttemptCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::AttachAttemptCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterPartitionIdChangeCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::PartitionIdChangeCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterBetterPartitionAttachAttemptCountAttributeCallbackType)(
    void *,
    chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::BetterPartitionAttachAttemptCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterParentChangeCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::ParentChangeCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxTotalCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxTotalCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxUnicastCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxUnicastCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxBroadcastCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxBroadcastCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxAckRequestedCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxAckRequestedCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxAckedCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxAckedCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxNoAckRequestedCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxNoAckRequestedCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxDataCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxDataCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxDataPollCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxDataPollCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxBeaconCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxBeaconCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxBeaconRequestCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxBeaconRequestCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxOtherCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxOtherCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxRetryCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxRetryCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxDirectMaxRetryExpiryCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxDirectMaxRetryExpiryCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxIndirectMaxRetryExpiryCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxIndirectMaxRetryExpiryCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxErrCcaCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxErrCcaCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxErrAbortCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxErrAbortCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterTxErrBusyChannelCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::TxErrBusyChannelCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxTotalCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxTotalCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxUnicastCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxUnicastCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxBroadcastCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxBroadcastCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxDataCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxDataCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxDataPollCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxDataPollCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxBeaconCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxBeaconCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxBeaconRequestCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxBeaconRequestCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxOtherCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxOtherCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxAddressFilteredCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxAddressFilteredCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxDestAddrFilteredCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxDestAddrFilteredCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxDuplicatedCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxDuplicatedCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxErrNoFrameCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxErrNoFrameCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxErrUnknownNeighborCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxErrUnknownNeighborCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxErrInvalidSrcAddrCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxErrInvalidSrcAddrCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxErrSecCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxErrSecCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxErrFcsCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxErrFcsCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterRxErrOtherCountAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::RxErrOtherCount::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterActiveTimestampAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::ActiveTimestamp::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterPendingTimestampAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::PendingTimestamp::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterDelayAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::Delay::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterSecurityPolicyAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::SecurityPolicy::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterChannelPage0MaskAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::ChannelPage0Mask::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterOperationalDatasetComponentsAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::OperationalDatasetComponents::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterActiveNetworkFaultsListAttributeCallbackType)(
    void *, const chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::ActiveNetworkFaultsList::TypeInfo::DecodableType &);
typedef void (*CHIPThreadNetworkDiagnosticsClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPThreadNetworkDiagnosticsClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPThreadNetworkDiagnosticsClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPThreadNetworkDiagnosticsClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPThreadNetworkDiagnosticsClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::ThreadNetworkDiagnostics::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPWiFiNetworkDiagnosticsClusterBssidAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::Bssid::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterSecurityTypeAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::SecurityType::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterWiFiVersionAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::WiFiVersion::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterChannelNumberAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::ChannelNumber::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterRssiAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::Rssi::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterBeaconLostCountAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::BeaconLostCount::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterBeaconRxCountAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::BeaconRxCount::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterPacketMulticastRxCountAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::PacketMulticastRxCount::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterPacketMulticastTxCountAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::PacketMulticastTxCount::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterPacketUnicastRxCountAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::PacketUnicastRxCount::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterPacketUnicastTxCountAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::PacketUnicastTxCount::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterCurrentMaxRateAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::CurrentMaxRate::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterOverrunCountAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::OverrunCount::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPWiFiNetworkDiagnosticsClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::WiFiNetworkDiagnostics::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPEthernetNetworkDiagnosticsClusterPHYRateAttributeCallbackType)(
    void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::PHYRate::TypeInfo::DecodableArgType);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterFullDuplexAttributeCallbackType)(
    void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::FullDuplex::TypeInfo::DecodableArgType);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterPacketRxCountAttributeCallbackType)(
    void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::PacketRxCount::TypeInfo::DecodableArgType);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterPacketTxCountAttributeCallbackType)(
    void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::PacketTxCount::TypeInfo::DecodableArgType);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterTxErrCountAttributeCallbackType)(
    void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::TxErrCount::TypeInfo::DecodableArgType);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterCollisionCountAttributeCallbackType)(
    void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::CollisionCount::TypeInfo::DecodableArgType);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterOverrunCountAttributeCallbackType)(
    void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::OverrunCount::TypeInfo::DecodableArgType);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterCarrierDetectAttributeCallbackType)(
    void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::CarrierDetect::TypeInfo::DecodableArgType);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterTimeSinceResetAttributeCallbackType)(
    void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::TimeSinceReset::TypeInfo::DecodableArgType);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPEthernetNetworkDiagnosticsClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::EthernetNetworkDiagnostics::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPBridgedDeviceBasicClusterVendorNameAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::VendorName::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterVendorIDAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::VendorID::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterProductNameAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::ProductName::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterNodeLabelAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::NodeLabel::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterHardwareVersionAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::HardwareVersion::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterHardwareVersionStringAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::HardwareVersionString::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterSoftwareVersionAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::SoftwareVersion::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterSoftwareVersionStringAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::SoftwareVersionString::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterManufacturingDateAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::ManufacturingDate::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterPartNumberAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::PartNumber::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterProductURLAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::ProductURL::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterProductLabelAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::ProductLabel::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterSerialNumberAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::SerialNumber::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterReachableAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::Reachable::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterUniqueIDAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::UniqueID::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::BridgedDeviceBasic::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBridgedDeviceBasicClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::BridgedDeviceBasic::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBridgedDeviceBasicClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::BridgedDeviceBasic::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBridgedDeviceBasicClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPBridgedDeviceBasicClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPSwitchClusterNumberOfPositionsAttributeCallbackType)(
    void *, chip::app::Clusters::Switch::Attributes::NumberOfPositions::TypeInfo::DecodableArgType);
typedef void (*CHIPSwitchClusterCurrentPositionAttributeCallbackType)(
    void *, chip::app::Clusters::Switch::Attributes::CurrentPosition::TypeInfo::DecodableArgType);
typedef void (*CHIPSwitchClusterMultiPressMaxAttributeCallbackType)(
    void *, chip::app::Clusters::Switch::Attributes::MultiPressMax::TypeInfo::DecodableArgType);
typedef void (*CHIPSwitchClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Switch::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPSwitchClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Switch::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPSwitchClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::Switch::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPSwitchClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::Switch::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPSwitchClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::Switch::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPAdministratorCommissioningClusterWindowStatusAttributeCallbackType)(
    void *, chip::app::Clusters::AdministratorCommissioning::Attributes::WindowStatus::TypeInfo::DecodableArgType);
typedef void (*CHIPAdministratorCommissioningClusterAdminFabricIndexAttributeCallbackType)(
    void *, chip::app::Clusters::AdministratorCommissioning::Attributes::AdminFabricIndex::TypeInfo::DecodableArgType);
typedef void (*CHIPAdministratorCommissioningClusterAdminVendorIdAttributeCallbackType)(
    void *, chip::app::Clusters::AdministratorCommissioning::Attributes::AdminVendorId::TypeInfo::DecodableArgType);
typedef void (*CHIPAdministratorCommissioningClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::AdministratorCommissioning::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPAdministratorCommissioningClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::AdministratorCommissioning::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPAdministratorCommissioningClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::AdministratorCommissioning::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPAdministratorCommissioningClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::AdministratorCommissioning::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPAdministratorCommissioningClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::AdministratorCommissioning::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPOperationalCredentialsClusterAttestationResponseCallbackType)(
    void *, const chip::app::Clusters::OperationalCredentials::Commands::AttestationResponse::DecodableType &);
typedef void (*CHIPOperationalCredentialsClusterCertificateChainResponseCallbackType)(
    void *, const chip::app::Clusters::OperationalCredentials::Commands::CertificateChainResponse::DecodableType &);
typedef void (*CHIPOperationalCredentialsClusterCSRResponseCallbackType)(
    void *, const chip::app::Clusters::OperationalCredentials::Commands::CSRResponse::DecodableType &);
typedef void (*CHIPOperationalCredentialsClusterNOCResponseCallbackType)(
    void *, const chip::app::Clusters::OperationalCredentials::Commands::NOCResponse::DecodableType &);

typedef void (*CHIPOperationalCredentialsClusterNOCsAttributeCallbackType)(
    void *, const chip::app::Clusters::OperationalCredentials::Attributes::NOCs::TypeInfo::DecodableType &);
typedef void (*CHIPOperationalCredentialsClusterFabricsAttributeCallbackType)(
    void *, const chip::app::Clusters::OperationalCredentials::Attributes::Fabrics::TypeInfo::DecodableType &);
typedef void (*CHIPOperationalCredentialsClusterSupportedFabricsAttributeCallbackType)(
    void *, chip::app::Clusters::OperationalCredentials::Attributes::SupportedFabrics::TypeInfo::DecodableArgType);
typedef void (*CHIPOperationalCredentialsClusterCommissionedFabricsAttributeCallbackType)(
    void *, chip::app::Clusters::OperationalCredentials::Attributes::CommissionedFabrics::TypeInfo::DecodableArgType);
typedef void (*CHIPOperationalCredentialsClusterTrustedRootCertificatesAttributeCallbackType)(
    void *, const chip::app::Clusters::OperationalCredentials::Attributes::TrustedRootCertificates::TypeInfo::DecodableType &);
typedef void (*CHIPOperationalCredentialsClusterCurrentFabricIndexAttributeCallbackType)(
    void *, chip::app::Clusters::OperationalCredentials::Attributes::CurrentFabricIndex::TypeInfo::DecodableArgType);
typedef void (*CHIPOperationalCredentialsClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::OperationalCredentials::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPOperationalCredentialsClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::OperationalCredentials::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPOperationalCredentialsClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::OperationalCredentials::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPOperationalCredentialsClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::OperationalCredentials::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPOperationalCredentialsClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::OperationalCredentials::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPGroupKeyManagementClusterKeySetReadResponseCallbackType)(
    void *, const chip::app::Clusters::GroupKeyManagement::Commands::KeySetReadResponse::DecodableType &);
typedef void (*CHIPGroupKeyManagementClusterKeySetReadAllIndicesResponseCallbackType)(
    void *, const chip::app::Clusters::GroupKeyManagement::Commands::KeySetReadAllIndicesResponse::DecodableType &);

typedef void (*CHIPGroupKeyManagementClusterGroupKeyMapAttributeCallbackType)(
    void *, const chip::app::Clusters::GroupKeyManagement::Attributes::GroupKeyMap::TypeInfo::DecodableType &);
typedef void (*CHIPGroupKeyManagementClusterGroupTableAttributeCallbackType)(
    void *, const chip::app::Clusters::GroupKeyManagement::Attributes::GroupTable::TypeInfo::DecodableType &);
typedef void (*CHIPGroupKeyManagementClusterMaxGroupsPerFabricAttributeCallbackType)(
    void *, chip::app::Clusters::GroupKeyManagement::Attributes::MaxGroupsPerFabric::TypeInfo::DecodableArgType);
typedef void (*CHIPGroupKeyManagementClusterMaxGroupKeysPerFabricAttributeCallbackType)(
    void *, chip::app::Clusters::GroupKeyManagement::Attributes::MaxGroupKeysPerFabric::TypeInfo::DecodableArgType);
typedef void (*CHIPGroupKeyManagementClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::GroupKeyManagement::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPGroupKeyManagementClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::GroupKeyManagement::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPGroupKeyManagementClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::GroupKeyManagement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPGroupKeyManagementClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::GroupKeyManagement::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPGroupKeyManagementClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::GroupKeyManagement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPFixedLabelClusterLabelListAttributeCallbackType)(
    void *, const chip::app::Clusters::FixedLabel::Attributes::LabelList::TypeInfo::DecodableType &);
typedef void (*CHIPFixedLabelClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::FixedLabel::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPFixedLabelClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::FixedLabel::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPFixedLabelClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::FixedLabel::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPFixedLabelClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::FixedLabel::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPFixedLabelClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::FixedLabel::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPUserLabelClusterLabelListAttributeCallbackType)(
    void *, const chip::app::Clusters::UserLabel::Attributes::LabelList::TypeInfo::DecodableType &);
typedef void (*CHIPUserLabelClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::UserLabel::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPUserLabelClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::UserLabel::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPUserLabelClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::UserLabel::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPUserLabelClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::UserLabel::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPBooleanStateClusterStateValueAttributeCallbackType)(
    void *, chip::app::Clusters::BooleanState::Attributes::StateValue::TypeInfo::DecodableArgType);
typedef void (*CHIPBooleanStateClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::BooleanState::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBooleanStateClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::BooleanState::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBooleanStateClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::BooleanState::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBooleanStateClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::BooleanState::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPBooleanStateClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::BooleanState::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPModeSelectClusterDescriptionAttributeCallbackType)(
    void *, chip::app::Clusters::ModeSelect::Attributes::Description::TypeInfo::DecodableArgType);
typedef void (*CHIPModeSelectClusterStandardNamespaceAttributeCallbackType)(
    void *, chip::app::Clusters::ModeSelect::Attributes::StandardNamespace::TypeInfo::DecodableArgType);
typedef void (*CHIPModeSelectClusterSupportedModesAttributeCallbackType)(
    void *, const chip::app::Clusters::ModeSelect::Attributes::SupportedModes::TypeInfo::DecodableType &);
typedef void (*CHIPModeSelectClusterCurrentModeAttributeCallbackType)(
    void *, chip::app::Clusters::ModeSelect::Attributes::CurrentMode::TypeInfo::DecodableArgType);
typedef void (*CHIPModeSelectClusterStartUpModeAttributeCallbackType)(
    void *, chip::app::Clusters::ModeSelect::Attributes::StartUpMode::TypeInfo::DecodableArgType);
typedef void (*CHIPModeSelectClusterOnModeAttributeCallbackType)(
    void *, chip::app::Clusters::ModeSelect::Attributes::OnMode::TypeInfo::DecodableArgType);
typedef void (*CHIPModeSelectClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ModeSelect::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPModeSelectClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ModeSelect::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPModeSelectClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::ModeSelect::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPModeSelectClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::ModeSelect::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPModeSelectClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::ModeSelect::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterGetWeekDayScheduleResponseCallbackType)(
    void *, const chip::app::Clusters::DoorLock::Commands::GetWeekDayScheduleResponse::DecodableType &);
typedef void (*CHIPDoorLockClusterGetYearDayScheduleResponseCallbackType)(
    void *, const chip::app::Clusters::DoorLock::Commands::GetYearDayScheduleResponse::DecodableType &);
typedef void (*CHIPDoorLockClusterGetHolidayScheduleResponseCallbackType)(
    void *, const chip::app::Clusters::DoorLock::Commands::GetHolidayScheduleResponse::DecodableType &);
typedef void (*CHIPDoorLockClusterGetUserResponseCallbackType)(
    void *, const chip::app::Clusters::DoorLock::Commands::GetUserResponse::DecodableType &);
typedef void (*CHIPDoorLockClusterSetCredentialResponseCallbackType)(
    void *, const chip::app::Clusters::DoorLock::Commands::SetCredentialResponse::DecodableType &);
typedef void (*CHIPDoorLockClusterGetCredentialStatusResponseCallbackType)(
    void *, const chip::app::Clusters::DoorLock::Commands::GetCredentialStatusResponse::DecodableType &);

typedef void (*CHIPDoorLockClusterLockStateAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::LockState::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterLockTypeAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::LockType::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterActuatorEnabledAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::ActuatorEnabled::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterDoorStateAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::DoorState::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterNumberOfTotalUsersSupportedAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::NumberOfTotalUsersSupported::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterNumberOfPINUsersSupportedAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::NumberOfPINUsersSupported::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterNumberOfRFIDUsersSupportedAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::NumberOfRFIDUsersSupported::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterNumberOfWeekDaySchedulesSupportedPerUserAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::NumberOfWeekDaySchedulesSupportedPerUser::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterNumberOfYearDaySchedulesSupportedPerUserAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::NumberOfYearDaySchedulesSupportedPerUser::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterNumberOfHolidaySchedulesSupportedAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::NumberOfHolidaySchedulesSupported::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterMaxPINCodeLengthAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::MaxPINCodeLength::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterMinPINCodeLengthAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::MinPINCodeLength::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterMaxRFIDCodeLengthAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::MaxRFIDCodeLength::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterMinRFIDCodeLengthAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::MinRFIDCodeLength::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterNumberOfCredentialsSupportedPerUserAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::NumberOfCredentialsSupportedPerUser::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterLanguageAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::Language::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterAutoRelockTimeAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::AutoRelockTime::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterSoundVolumeAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::SoundVolume::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterOperatingModeAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::OperatingMode::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterSupportedOperatingModesAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::SupportedOperatingModes::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterEnableOneTouchLockingAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::EnableOneTouchLocking::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterEnablePrivacyModeButtonAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::EnablePrivacyModeButton::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterWrongCodeEntryLimitAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::WrongCodeEntryLimit::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterUserCodeTemporaryDisableTimeAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::UserCodeTemporaryDisableTime::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterRequirePINforRemoteOperationAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::RequirePINforRemoteOperation::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::DoorLock::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPDoorLockClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::DoorLock::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPDoorLockClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::DoorLock::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPDoorLockClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPDoorLockClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::DoorLock::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPWindowCoveringClusterTypeAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::Type::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterPhysicalClosedLimitLiftAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::PhysicalClosedLimitLift::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterPhysicalClosedLimitTiltAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::PhysicalClosedLimitTilt::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterCurrentPositionLiftAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::CurrentPositionLift::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterCurrentPositionTiltAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::CurrentPositionTilt::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterNumberOfActuationsLiftAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::NumberOfActuationsLift::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterNumberOfActuationsTiltAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::NumberOfActuationsTilt::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterConfigStatusAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::ConfigStatus::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterCurrentPositionLiftPercentageAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::CurrentPositionLiftPercentage::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterCurrentPositionTiltPercentageAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::CurrentPositionTiltPercentage::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterOperationalStatusAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::OperationalStatus::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterTargetPositionLiftPercent100thsAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::TargetPositionLiftPercent100ths::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterTargetPositionTiltPercent100thsAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::TargetPositionTiltPercent100ths::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterEndProductTypeAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::EndProductType::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterCurrentPositionLiftPercent100thsAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::CurrentPositionLiftPercent100ths::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterCurrentPositionTiltPercent100thsAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::CurrentPositionTiltPercent100ths::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterInstalledOpenLimitLiftAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::InstalledOpenLimitLift::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterInstalledClosedLimitLiftAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::InstalledClosedLimitLift::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterInstalledOpenLimitTiltAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::InstalledOpenLimitTilt::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterInstalledClosedLimitTiltAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::InstalledClosedLimitTilt::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterModeAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::Mode::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterSafetyStatusAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::SafetyStatus::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::WindowCovering::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPWindowCoveringClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::WindowCovering::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPWindowCoveringClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::WindowCovering::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPWindowCoveringClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPWindowCoveringClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::WindowCovering::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPBarrierControlClusterBarrierMovingStateAttributeCallbackType)(
    void *, chip::app::Clusters::BarrierControl::Attributes::BarrierMovingState::TypeInfo::DecodableArgType);
typedef void (*CHIPBarrierControlClusterBarrierSafetyStatusAttributeCallbackType)(
    void *, chip::app::Clusters::BarrierControl::Attributes::BarrierSafetyStatus::TypeInfo::DecodableArgType);
typedef void (*CHIPBarrierControlClusterBarrierCapabilitiesAttributeCallbackType)(
    void *, chip::app::Clusters::BarrierControl::Attributes::BarrierCapabilities::TypeInfo::DecodableArgType);
typedef void (*CHIPBarrierControlClusterBarrierPositionAttributeCallbackType)(
    void *, chip::app::Clusters::BarrierControl::Attributes::BarrierPosition::TypeInfo::DecodableArgType);
typedef void (*CHIPBarrierControlClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::BarrierControl::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBarrierControlClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::BarrierControl::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBarrierControlClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::BarrierControl::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBarrierControlClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::BarrierControl::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPBarrierControlClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::BarrierControl::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPPumpConfigurationAndControlClusterMaxPressureAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MaxPressure::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterMaxSpeedAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MaxSpeed::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterMaxFlowAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MaxFlow::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterMinConstPressureAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MinConstPressure::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterMaxConstPressureAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MaxConstPressure::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterMinCompPressureAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MinCompPressure::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterMaxCompPressureAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MaxCompPressure::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterMinConstSpeedAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MinConstSpeed::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterMaxConstSpeedAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MaxConstSpeed::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterMinConstFlowAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MinConstFlow::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterMaxConstFlowAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MaxConstFlow::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterMinConstTempAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MinConstTemp::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterMaxConstTempAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::MaxConstTemp::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterPumpStatusAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::PumpStatus::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterEffectiveOperationModeAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::EffectiveOperationMode::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterEffectiveControlModeAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::EffectiveControlMode::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterCapacityAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::Capacity::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterSpeedAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::Speed::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterLifetimeRunningHoursAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::LifetimeRunningHours::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterPowerAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::Power::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterLifetimeEnergyConsumedAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::LifetimeEnergyConsumed::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterOperationModeAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::OperationMode::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterControlModeAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::ControlMode::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::PumpConfigurationAndControl::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPPumpConfigurationAndControlClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::PumpConfigurationAndControl::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPPumpConfigurationAndControlClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::PumpConfigurationAndControl::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPPumpConfigurationAndControlClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPPumpConfigurationAndControlClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::PumpConfigurationAndControl::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterGetWeeklyScheduleResponseCallbackType)(
    void *, const chip::app::Clusters::Thermostat::Commands::GetWeeklyScheduleResponse::DecodableType &);

typedef void (*CHIPThermostatClusterLocalTemperatureAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::LocalTemperature::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterAbsMinHeatSetpointLimitAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::AbsMinHeatSetpointLimit::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterAbsMaxHeatSetpointLimitAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::AbsMaxHeatSetpointLimit::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterAbsMinCoolSetpointLimitAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::AbsMinCoolSetpointLimit::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterAbsMaxCoolSetpointLimitAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::AbsMaxCoolSetpointLimit::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterOccupiedCoolingSetpointAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::OccupiedCoolingSetpoint::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterOccupiedHeatingSetpointAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::OccupiedHeatingSetpoint::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterMinHeatSetpointLimitAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::MinHeatSetpointLimit::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterMaxHeatSetpointLimitAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::MaxHeatSetpointLimit::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterMinCoolSetpointLimitAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::MinCoolSetpointLimit::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterMaxCoolSetpointLimitAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::MaxCoolSetpointLimit::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterMinSetpointDeadBandAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::MinSetpointDeadBand::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterControlSequenceOfOperationAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::ControlSequenceOfOperation::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterSystemModeAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::SystemMode::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterStartOfWeekAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::StartOfWeek::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterNumberOfWeeklyTransitionsAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::NumberOfWeeklyTransitions::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterNumberOfDailyTransitionsAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::NumberOfDailyTransitions::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::Thermostat::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPThermostatClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::Thermostat::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPFanControlClusterFanModeAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::FanMode::TypeInfo::DecodableArgType);
typedef void (*CHIPFanControlClusterFanModeSequenceAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::FanModeSequence::TypeInfo::DecodableArgType);
typedef void (*CHIPFanControlClusterPercentSettingAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::PercentSetting::TypeInfo::DecodableArgType);
typedef void (*CHIPFanControlClusterPercentCurrentAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::PercentCurrent::TypeInfo::DecodableArgType);
typedef void (*CHIPFanControlClusterSpeedMaxAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::SpeedMax::TypeInfo::DecodableArgType);
typedef void (*CHIPFanControlClusterSpeedSettingAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::SpeedSetting::TypeInfo::DecodableArgType);
typedef void (*CHIPFanControlClusterSpeedCurrentAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::SpeedCurrent::TypeInfo::DecodableArgType);
typedef void (*CHIPFanControlClusterRockSupportAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::RockSupport::TypeInfo::DecodableArgType);
typedef void (*CHIPFanControlClusterRockSettingAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::RockSetting::TypeInfo::DecodableArgType);
typedef void (*CHIPFanControlClusterWindSupportAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::WindSupport::TypeInfo::DecodableArgType);
typedef void (*CHIPFanControlClusterWindSettingAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::WindSetting::TypeInfo::DecodableArgType);
typedef void (*CHIPFanControlClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::FanControl::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPFanControlClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::FanControl::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPFanControlClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::FanControl::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPFanControlClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPFanControlClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::FanControl::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPThermostatUserInterfaceConfigurationClusterTemperatureDisplayModeAttributeCallbackType)(
    void *,
    chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::TemperatureDisplayMode::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatUserInterfaceConfigurationClusterKeypadLockoutAttributeCallbackType)(
    void *, chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::KeypadLockout::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatUserInterfaceConfigurationClusterScheduleProgrammingVisibilityAttributeCallbackType)(
    void *,
    chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::ScheduleProgrammingVisibility::TypeInfo::
        DecodableArgType);
typedef void (*CHIPThermostatUserInterfaceConfigurationClusterGeneratedCommandListAttributeCallbackType)(
    void *,
    const chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPThermostatUserInterfaceConfigurationClusterAcceptedCommandListAttributeCallbackType)(
    void *,
    const chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPThermostatUserInterfaceConfigurationClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPThermostatUserInterfaceConfigurationClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPThermostatUserInterfaceConfigurationClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPColorControlClusterCurrentHueAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::CurrentHue::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterCurrentSaturationAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::CurrentSaturation::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterRemainingTimeAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::RemainingTime::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterCurrentXAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::CurrentX::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterCurrentYAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::CurrentY::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterDriftCompensationAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::DriftCompensation::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterCompensationTextAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::CompensationText::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorTemperatureAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorTemperature::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorModeAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorMode::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterOptionsAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Options::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterNumberOfPrimariesAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::NumberOfPrimaries::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary1XAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary1X::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary1YAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary1Y::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary1IntensityAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary1Intensity::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary2XAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary2X::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary2YAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary2Y::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary2IntensityAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary2Intensity::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary3XAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary3X::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary3YAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary3Y::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary3IntensityAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary3Intensity::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary4XAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary4X::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary4YAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary4Y::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary4IntensityAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary4Intensity::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary5XAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary5X::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary5YAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary5Y::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary5IntensityAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary5Intensity::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary6XAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary6X::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary6YAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary6Y::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterPrimary6IntensityAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::Primary6Intensity::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterWhitePointXAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::WhitePointX::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterWhitePointYAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::WhitePointY::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorPointRXAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorPointRX::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorPointRYAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorPointRY::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorPointRIntensityAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorPointRIntensity::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorPointGXAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorPointGX::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorPointGYAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorPointGY::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorPointGIntensityAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorPointGIntensity::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorPointBXAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorPointBX::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorPointBYAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorPointBY::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorPointBIntensityAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorPointBIntensity::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterEnhancedCurrentHueAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::EnhancedCurrentHue::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterEnhancedColorModeAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::EnhancedColorMode::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorLoopActiveAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorLoopActive::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorLoopDirectionAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorLoopDirection::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorLoopTimeAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorLoopTime::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorLoopStartEnhancedHueAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorLoopStartEnhancedHue::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorLoopStoredEnhancedHueAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorLoopStoredEnhancedHue::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorCapabilitiesAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorCapabilities::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorTempPhysicalMinMiredsAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorTempPhysicalMinMireds::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterColorTempPhysicalMaxMiredsAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ColorTempPhysicalMaxMireds::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterCoupleColorTempToLevelMinMiredsAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::CoupleColorTempToLevelMinMireds::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterStartUpColorTemperatureMiredsAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::StartUpColorTemperatureMireds::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ColorControl::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPColorControlClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ColorControl::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPColorControlClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::ColorControl::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPColorControlClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPColorControlClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::ColorControl::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPBallastConfigurationClusterPhysicalMinLevelAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::PhysicalMinLevel::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterPhysicalMaxLevelAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::PhysicalMaxLevel::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterBallastStatusAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::BallastStatus::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterMinLevelAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::MinLevel::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterMaxLevelAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::MaxLevel::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterIntrinsicBalanceFactorAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::IntrinsicBalanceFactor::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterBallastFactorAdjustmentAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::BallastFactorAdjustment::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterLampQuantityAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::LampQuantity::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterLampTypeAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::LampType::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterLampManufacturerAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::LampManufacturer::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterLampRatedHoursAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::LampRatedHours::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterLampBurnHoursAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::LampBurnHours::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterLampAlarmModeAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::LampAlarmMode::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterLampBurnHoursTripPointAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::LampBurnHoursTripPoint::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::BallastConfiguration::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBallastConfigurationClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::BallastConfiguration::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPBallastConfigurationClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::BallastConfiguration::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPBallastConfigurationClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPBallastConfigurationClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::BallastConfiguration::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPIlluminanceMeasurementClusterMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::IlluminanceMeasurement::Attributes::MeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPIlluminanceMeasurementClusterMinMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::IlluminanceMeasurement::Attributes::MinMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPIlluminanceMeasurementClusterMaxMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::IlluminanceMeasurement::Attributes::MaxMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPIlluminanceMeasurementClusterToleranceAttributeCallbackType)(
    void *, chip::app::Clusters::IlluminanceMeasurement::Attributes::Tolerance::TypeInfo::DecodableArgType);
typedef void (*CHIPIlluminanceMeasurementClusterLightSensorTypeAttributeCallbackType)(
    void *, chip::app::Clusters::IlluminanceMeasurement::Attributes::LightSensorType::TypeInfo::DecodableArgType);
typedef void (*CHIPIlluminanceMeasurementClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::IlluminanceMeasurement::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPIlluminanceMeasurementClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::IlluminanceMeasurement::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPIlluminanceMeasurementClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::IlluminanceMeasurement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPIlluminanceMeasurementClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::IlluminanceMeasurement::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPIlluminanceMeasurementClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::IlluminanceMeasurement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPTemperatureMeasurementClusterMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::TemperatureMeasurement::Attributes::MeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPTemperatureMeasurementClusterMinMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::TemperatureMeasurement::Attributes::MinMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPTemperatureMeasurementClusterMaxMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::TemperatureMeasurement::Attributes::MaxMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPTemperatureMeasurementClusterToleranceAttributeCallbackType)(
    void *, chip::app::Clusters::TemperatureMeasurement::Attributes::Tolerance::TypeInfo::DecodableArgType);
typedef void (*CHIPTemperatureMeasurementClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::TemperatureMeasurement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPTemperatureMeasurementClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::TemperatureMeasurement::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPTemperatureMeasurementClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::TemperatureMeasurement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPPressureMeasurementClusterMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::PressureMeasurement::Attributes::MeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPPressureMeasurementClusterMinMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::PressureMeasurement::Attributes::MinMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPPressureMeasurementClusterMaxMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::PressureMeasurement::Attributes::MaxMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPPressureMeasurementClusterToleranceAttributeCallbackType)(
    void *, chip::app::Clusters::PressureMeasurement::Attributes::Tolerance::TypeInfo::DecodableArgType);
typedef void (*CHIPPressureMeasurementClusterScaledValueAttributeCallbackType)(
    void *, chip::app::Clusters::PressureMeasurement::Attributes::ScaledValue::TypeInfo::DecodableArgType);
typedef void (*CHIPPressureMeasurementClusterMinScaledValueAttributeCallbackType)(
    void *, chip::app::Clusters::PressureMeasurement::Attributes::MinScaledValue::TypeInfo::DecodableArgType);
typedef void (*CHIPPressureMeasurementClusterMaxScaledValueAttributeCallbackType)(
    void *, chip::app::Clusters::PressureMeasurement::Attributes::MaxScaledValue::TypeInfo::DecodableArgType);
typedef void (*CHIPPressureMeasurementClusterScaledToleranceAttributeCallbackType)(
    void *, chip::app::Clusters::PressureMeasurement::Attributes::ScaledTolerance::TypeInfo::DecodableArgType);
typedef void (*CHIPPressureMeasurementClusterScaleAttributeCallbackType)(
    void *, chip::app::Clusters::PressureMeasurement::Attributes::Scale::TypeInfo::DecodableArgType);
typedef void (*CHIPPressureMeasurementClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::PressureMeasurement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPPressureMeasurementClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::PressureMeasurement::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPPressureMeasurementClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::PressureMeasurement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPFlowMeasurementClusterMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::FlowMeasurement::Attributes::MeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPFlowMeasurementClusterMinMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::FlowMeasurement::Attributes::MinMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPFlowMeasurementClusterMaxMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::FlowMeasurement::Attributes::MaxMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPFlowMeasurementClusterToleranceAttributeCallbackType)(
    void *, chip::app::Clusters::FlowMeasurement::Attributes::Tolerance::TypeInfo::DecodableArgType);
typedef void (*CHIPFlowMeasurementClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::FlowMeasurement::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPFlowMeasurementClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::FlowMeasurement::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPFlowMeasurementClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::FlowMeasurement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPFlowMeasurementClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::FlowMeasurement::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPFlowMeasurementClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::FlowMeasurement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPRelativeHumidityMeasurementClusterMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::RelativeHumidityMeasurement::Attributes::MeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPRelativeHumidityMeasurementClusterMinMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::RelativeHumidityMeasurement::Attributes::MinMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPRelativeHumidityMeasurementClusterMaxMeasuredValueAttributeCallbackType)(
    void *, chip::app::Clusters::RelativeHumidityMeasurement::Attributes::MaxMeasuredValue::TypeInfo::DecodableArgType);
typedef void (*CHIPRelativeHumidityMeasurementClusterToleranceAttributeCallbackType)(
    void *, chip::app::Clusters::RelativeHumidityMeasurement::Attributes::Tolerance::TypeInfo::DecodableArgType);
typedef void (*CHIPRelativeHumidityMeasurementClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::RelativeHumidityMeasurement::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPRelativeHumidityMeasurementClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::RelativeHumidityMeasurement::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPRelativeHumidityMeasurementClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::RelativeHumidityMeasurement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPRelativeHumidityMeasurementClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::RelativeHumidityMeasurement::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPRelativeHumidityMeasurementClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::RelativeHumidityMeasurement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPOccupancySensingClusterOccupancyAttributeCallbackType)(
    void *, chip::app::Clusters::OccupancySensing::Attributes::Occupancy::TypeInfo::DecodableArgType);
typedef void (*CHIPOccupancySensingClusterOccupancySensorTypeAttributeCallbackType)(
    void *, chip::app::Clusters::OccupancySensing::Attributes::OccupancySensorType::TypeInfo::DecodableArgType);
typedef void (*CHIPOccupancySensingClusterOccupancySensorTypeBitmapAttributeCallbackType)(
    void *, chip::app::Clusters::OccupancySensing::Attributes::OccupancySensorTypeBitmap::TypeInfo::DecodableArgType);
typedef void (*CHIPOccupancySensingClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::OccupancySensing::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPOccupancySensingClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::OccupancySensing::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPOccupancySensingClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::OccupancySensing::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPOccupancySensingClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::OccupancySensing::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPOccupancySensingClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::OccupancySensing::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPWakeOnLanClusterMACAddressAttributeCallbackType)(
    void *, chip::app::Clusters::WakeOnLan::Attributes::MACAddress::TypeInfo::DecodableArgType);
typedef void (*CHIPWakeOnLanClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::WakeOnLan::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPWakeOnLanClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::WakeOnLan::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPWakeOnLanClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::WakeOnLan::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPWakeOnLanClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::WakeOnLan::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPWakeOnLanClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::WakeOnLan::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPChannelClusterChangeChannelResponseCallbackType)(
    void *, const chip::app::Clusters::Channel::Commands::ChangeChannelResponse::DecodableType &);

typedef void (*CHIPChannelClusterChannelListAttributeCallbackType)(
    void *, const chip::app::Clusters::Channel::Attributes::ChannelList::TypeInfo::DecodableType &);
typedef void (*CHIPChannelClusterLineupAttributeCallbackType)(
    void *, chip::app::Clusters::Channel::Attributes::Lineup::TypeInfo::DecodableArgType);
typedef void (*CHIPChannelClusterCurrentChannelAttributeCallbackType)(
    void *, chip::app::Clusters::Channel::Attributes::CurrentChannel::TypeInfo::DecodableArgType);
typedef void (*CHIPChannelClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Channel::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPChannelClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::Channel::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPChannelClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::Channel::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPChannelClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::Channel::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPChannelClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::Channel::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPTargetNavigatorClusterNavigateTargetResponseCallbackType)(
    void *, const chip::app::Clusters::TargetNavigator::Commands::NavigateTargetResponse::DecodableType &);

typedef void (*CHIPTargetNavigatorClusterTargetListAttributeCallbackType)(
    void *, const chip::app::Clusters::TargetNavigator::Attributes::TargetList::TypeInfo::DecodableType &);
typedef void (*CHIPTargetNavigatorClusterCurrentTargetAttributeCallbackType)(
    void *, chip::app::Clusters::TargetNavigator::Attributes::CurrentTarget::TypeInfo::DecodableArgType);
typedef void (*CHIPTargetNavigatorClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::TargetNavigator::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPTargetNavigatorClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::TargetNavigator::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPTargetNavigatorClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::TargetNavigator::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPTargetNavigatorClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::TargetNavigator::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPTargetNavigatorClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::TargetNavigator::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaPlaybackClusterPlaybackResponseCallbackType)(
    void *, const chip::app::Clusters::MediaPlayback::Commands::PlaybackResponse::DecodableType &);

typedef void (*CHIPMediaPlaybackClusterCurrentStateAttributeCallbackType)(
    void *, chip::app::Clusters::MediaPlayback::Attributes::CurrentState::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaPlaybackClusterStartTimeAttributeCallbackType)(
    void *, chip::app::Clusters::MediaPlayback::Attributes::StartTime::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaPlaybackClusterDurationAttributeCallbackType)(
    void *, chip::app::Clusters::MediaPlayback::Attributes::Duration::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaPlaybackClusterSampledPositionAttributeCallbackType)(
    void *, chip::app::Clusters::MediaPlayback::Attributes::SampledPosition::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaPlaybackClusterPlaybackSpeedAttributeCallbackType)(
    void *, chip::app::Clusters::MediaPlayback::Attributes::PlaybackSpeed::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaPlaybackClusterSeekRangeEndAttributeCallbackType)(
    void *, chip::app::Clusters::MediaPlayback::Attributes::SeekRangeEnd::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaPlaybackClusterSeekRangeStartAttributeCallbackType)(
    void *, chip::app::Clusters::MediaPlayback::Attributes::SeekRangeStart::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaPlaybackClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::MediaPlayback::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPMediaPlaybackClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::MediaPlayback::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPMediaPlaybackClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::MediaPlayback::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPMediaPlaybackClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::MediaPlayback::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaPlaybackClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::MediaPlayback::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPMediaInputClusterInputListAttributeCallbackType)(
    void *, const chip::app::Clusters::MediaInput::Attributes::InputList::TypeInfo::DecodableType &);
typedef void (*CHIPMediaInputClusterCurrentInputAttributeCallbackType)(
    void *, chip::app::Clusters::MediaInput::Attributes::CurrentInput::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaInputClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::MediaInput::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPMediaInputClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::MediaInput::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPMediaInputClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::MediaInput::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPMediaInputClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::MediaInput::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPMediaInputClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::MediaInput::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPLowPowerClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::LowPower::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPLowPowerClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::LowPower::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPLowPowerClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::LowPower::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPLowPowerClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::LowPower::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPLowPowerClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::LowPower::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPKeypadInputClusterSendKeyResponseCallbackType)(
    void *, const chip::app::Clusters::KeypadInput::Commands::SendKeyResponse::DecodableType &);

typedef void (*CHIPKeypadInputClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::KeypadInput::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPKeypadInputClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::KeypadInput::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPKeypadInputClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::KeypadInput::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPKeypadInputClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::KeypadInput::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPKeypadInputClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::KeypadInput::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPContentLauncherClusterLaunchResponseCallbackType)(
    void *, const chip::app::Clusters::ContentLauncher::Commands::LaunchResponse::DecodableType &);

typedef void (*CHIPContentLauncherClusterAcceptHeaderAttributeCallbackType)(
    void *, const chip::app::Clusters::ContentLauncher::Attributes::AcceptHeader::TypeInfo::DecodableType &);
typedef void (*CHIPContentLauncherClusterSupportedStreamingProtocolsAttributeCallbackType)(
    void *, chip::app::Clusters::ContentLauncher::Attributes::SupportedStreamingProtocols::TypeInfo::DecodableArgType);
typedef void (*CHIPContentLauncherClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ContentLauncher::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPContentLauncherClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ContentLauncher::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPContentLauncherClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::ContentLauncher::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPContentLauncherClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::ContentLauncher::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPContentLauncherClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::ContentLauncher::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPAudioOutputClusterOutputListAttributeCallbackType)(
    void *, const chip::app::Clusters::AudioOutput::Attributes::OutputList::TypeInfo::DecodableType &);
typedef void (*CHIPAudioOutputClusterCurrentOutputAttributeCallbackType)(
    void *, chip::app::Clusters::AudioOutput::Attributes::CurrentOutput::TypeInfo::DecodableArgType);
typedef void (*CHIPAudioOutputClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::AudioOutput::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPAudioOutputClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::AudioOutput::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPAudioOutputClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::AudioOutput::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPAudioOutputClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::AudioOutput::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPAudioOutputClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::AudioOutput::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationLauncherClusterLauncherResponseCallbackType)(
    void *, const chip::app::Clusters::ApplicationLauncher::Commands::LauncherResponse::DecodableType &);

typedef void (*CHIPApplicationLauncherClusterCatalogListAttributeCallbackType)(
    void *, const chip::app::Clusters::ApplicationLauncher::Attributes::CatalogList::TypeInfo::DecodableType &);
typedef void (*CHIPApplicationLauncherClusterCurrentAppAttributeCallbackType)(
    void *, chip::app::Clusters::ApplicationLauncher::Attributes::CurrentApp::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationLauncherClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ApplicationLauncher::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPApplicationLauncherClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ApplicationLauncher::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPApplicationLauncherClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::ApplicationLauncher::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPApplicationLauncherClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::ApplicationLauncher::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationLauncherClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::ApplicationLauncher::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPApplicationBasicClusterVendorNameAttributeCallbackType)(
    void *, chip::app::Clusters::ApplicationBasic::Attributes::VendorName::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationBasicClusterVendorIDAttributeCallbackType)(
    void *, chip::app::Clusters::ApplicationBasic::Attributes::VendorID::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationBasicClusterApplicationNameAttributeCallbackType)(
    void *, chip::app::Clusters::ApplicationBasic::Attributes::ApplicationName::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationBasicClusterProductIDAttributeCallbackType)(
    void *, chip::app::Clusters::ApplicationBasic::Attributes::ProductID::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationBasicClusterApplicationAttributeCallbackType)(
    void *, chip::app::Clusters::ApplicationBasic::Attributes::Application::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationBasicClusterStatusAttributeCallbackType)(
    void *, chip::app::Clusters::ApplicationBasic::Attributes::Status::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationBasicClusterApplicationVersionAttributeCallbackType)(
    void *, chip::app::Clusters::ApplicationBasic::Attributes::ApplicationVersion::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationBasicClusterAllowedVendorListAttributeCallbackType)(
    void *, const chip::app::Clusters::ApplicationBasic::Attributes::AllowedVendorList::TypeInfo::DecodableType &);
typedef void (*CHIPApplicationBasicClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ApplicationBasic::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPApplicationBasicClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ApplicationBasic::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPApplicationBasicClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::ApplicationBasic::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPApplicationBasicClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::ApplicationBasic::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPApplicationBasicClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::ApplicationBasic::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPAccountLoginClusterGetSetupPINResponseCallbackType)(
    void *, const chip::app::Clusters::AccountLogin::Commands::GetSetupPINResponse::DecodableType &);

typedef void (*CHIPAccountLoginClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::AccountLogin::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPAccountLoginClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::AccountLogin::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPAccountLoginClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::AccountLogin::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPAccountLoginClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::AccountLogin::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPAccountLoginClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::AccountLogin::Attributes::ClusterRevision::TypeInfo::DecodableArgType);

typedef void (*CHIPElectricalMeasurementClusterMeasurementTypeAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::MeasurementType::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterTotalActivePowerAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::TotalActivePower::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterRmsVoltageAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::RmsVoltage::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterRmsVoltageMinAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::RmsVoltageMin::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterRmsVoltageMaxAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::RmsVoltageMax::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterRmsCurrentAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::RmsCurrent::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterRmsCurrentMinAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::RmsCurrentMin::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterRmsCurrentMaxAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::RmsCurrentMax::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterActivePowerAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::ActivePower::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterActivePowerMinAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::ActivePowerMin::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterActivePowerMaxAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::ActivePowerMax::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ElectricalMeasurement::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPElectricalMeasurementClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::ElectricalMeasurement::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPElectricalMeasurementClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::ElectricalMeasurement::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPElectricalMeasurementClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPElectricalMeasurementClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::ElectricalMeasurement::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterTestSpecificResponseCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Commands::TestSpecificResponse::DecodableType &);
typedef void (*CHIPTestClusterClusterTestAddArgumentsResponseCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Commands::TestAddArgumentsResponse::DecodableType &);
typedef void (*CHIPTestClusterClusterTestListInt8UReverseResponseCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Commands::TestListInt8UReverseResponse::DecodableType &);
typedef void (*CHIPTestClusterClusterTestEnumsResponseCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Commands::TestEnumsResponse::DecodableType &);
typedef void (*CHIPTestClusterClusterTestNullableOptionalResponseCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Commands::TestNullableOptionalResponse::DecodableType &);
typedef void (*CHIPTestClusterClusterBooleanResponseCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType &);
typedef void (*CHIPTestClusterClusterSimpleStructResponseCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Commands::SimpleStructResponse::DecodableType &);
typedef void (*CHIPTestClusterClusterTestEmitTestEventResponseCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Commands::TestEmitTestEventResponse::DecodableType &);

typedef void (*CHIPTestClusterClusterBooleanAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Boolean::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterBitmap8AttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Bitmap8::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterBitmap16AttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Bitmap16::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterBitmap32AttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Bitmap32::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterBitmap64AttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Bitmap64::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt8uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int8u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt16uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int16u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt24uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int24u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt32uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int32u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt40uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int40u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt48uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int48u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt56uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int56u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt64uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int64u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt8sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int8s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt16sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int16s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt24sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int24s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt32sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int32s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt40sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int40s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt48sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int48s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt56sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int56s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterInt64sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Int64s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterEnum8AttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Enum8::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterEnum16AttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Enum16::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterFloatSingleAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::FloatSingle::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterFloatDoubleAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::FloatDouble::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterOctetStringAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::OctetString::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterListInt8uAttributeCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Attributes::ListInt8u::TypeInfo::DecodableType &);
typedef void (*CHIPTestClusterClusterListOctetStringAttributeCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Attributes::ListOctetString::TypeInfo::DecodableType &);
typedef void (*CHIPTestClusterClusterListStructOctetStringAttributeCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Attributes::ListStructOctetString::TypeInfo::DecodableType &);
typedef void (*CHIPTestClusterClusterLongOctetStringAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::LongOctetString::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterCharStringAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::CharString::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterLongCharStringAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::LongCharString::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterEpochUsAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::EpochUs::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterEpochSAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::EpochS::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterVendorIdAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::VendorId::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterListNullablesAndOptionalsStructAttributeCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Attributes::ListNullablesAndOptionalsStruct::TypeInfo::DecodableType &);
typedef void (*CHIPTestClusterClusterEnumAttrAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::EnumAttr::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterStructAttrAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::StructAttr::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterRangeRestrictedInt8uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::RangeRestrictedInt8u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterRangeRestrictedInt8sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::RangeRestrictedInt8s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterRangeRestrictedInt16uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::RangeRestrictedInt16u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterRangeRestrictedInt16sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::RangeRestrictedInt16s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterListLongOctetStringAttributeCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Attributes::ListLongOctetString::TypeInfo::DecodableType &);
typedef void (*CHIPTestClusterClusterListFabricScopedAttributeCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Attributes::ListFabricScoped::TypeInfo::DecodableType &);
typedef void (*CHIPTestClusterClusterTimedWriteBooleanAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::TimedWriteBoolean::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterGeneralErrorBooleanAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::GeneralErrorBoolean::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterClusterErrorBooleanAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::ClusterErrorBoolean::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterUnsupportedAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::Unsupported::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableBooleanAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableBoolean::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableBitmap8AttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableBitmap8::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableBitmap16AttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableBitmap16::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableBitmap32AttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableBitmap32::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableBitmap64AttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableBitmap64::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt8uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt8u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt16uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt16u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt24uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt24u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt32uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt32u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt40uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt40u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt48uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt48u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt56uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt56u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt64uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt64u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt8sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt8s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt16sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt16s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt24sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt24s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt32sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt32s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt40sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt40s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt48sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt48s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt56sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt56s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableInt64sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableInt64s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableEnum8AttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableEnum8::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableEnum16AttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableEnum16::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableFloatSingleAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableFloatSingle::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableFloatDoubleAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableFloatDouble::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableOctetStringAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableOctetString::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableCharStringAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableCharString::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableEnumAttrAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableEnumAttr::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableStructAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableStruct::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableRangeRestrictedInt8uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableRangeRestrictedInt8u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableRangeRestrictedInt8sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableRangeRestrictedInt8s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableRangeRestrictedInt16uAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableRangeRestrictedInt16u::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterNullableRangeRestrictedInt16sAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::NullableRangeRestrictedInt16s::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterGeneratedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Attributes::GeneratedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPTestClusterClusterAcceptedCommandListAttributeCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Attributes::AcceptedCommandList::TypeInfo::DecodableType &);
typedef void (*CHIPTestClusterClusterAttributeListAttributeCallbackType)(
    void *, const chip::app::Clusters::TestCluster::Attributes::AttributeList::TypeInfo::DecodableType &);
typedef void (*CHIPTestClusterClusterFeatureMapAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::FeatureMap::TypeInfo::DecodableArgType);
typedef void (*CHIPTestClusterClusterClusterRevisionAttributeCallbackType)(
    void *, chip::app::Clusters::TestCluster::Attributes::ClusterRevision::TypeInfo::DecodableArgType);
