SmokeCoAlarmBehavior: Type<Of<{
    attributes: {
        batteryAlert: Attribute<SmokeCoAlarm.AlarmState, any>;
        deviceMuted: OptionalAttribute<SmokeCoAlarm.MuteState, any>;
        endOfServiceAlert: Attribute<SmokeCoAlarm.EndOfService, any>;
        expiryDate: OptionalFixedAttribute<number, any>;
        expressedState: Attribute<SmokeCoAlarm.ExpressedState, any>;
        hardwareFaultAlert: Attribute<boolean, any>;
        interconnectCoAlarm: OptionalAttribute<SmokeCoAlarm.AlarmState, any>;
        interconnectSmokeAlarm: OptionalAttribute<SmokeCoAlarm.AlarmState, any>;
        testInProgress: Attribute<boolean, any>;
    };
    commands: {
        selfTestRequest: OptionalCommand<void, void, any>;
    };
    events: {
        alarmMuted: OptionalEvent<void, any>;
        allClear: Event<void, any>;
        endOfService: Event<void, any>;
        hardwareFault: Event<void, any>;
        lowBattery: Event<TypeFromFields<{
            alarmSeverityLevel: FieldType<SmokeCoAlarm.AlarmState>;
        }>, any>;
        muteEnded: OptionalEvent<void, any>;
        selfTestComplete: Event<void, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                contaminationState: OptionalAttribute<SmokeCoAlarm.ContaminationState, any>;
                smokeSensitivityLevel: OptionalWritableAttribute<SmokeCoAlarm.Sensitivity, any>;
                smokeState: Attribute<SmokeCoAlarm.AlarmState, any>;
            };
            events: {
                interconnectSmokeAlarm: OptionalEvent<TypeFromFields<{
                    alarmSeverityLevel: FieldType<(...)>;
                }>, any>;
                smokeAlarm: Event<TypeFromFields<{
                    alarmSeverityLevel: FieldType<(...)>;
                }>, any>;
            };
        };
        flags: {
            smokeAlarm: true;
        };
    }, {
        component: {
            attributes: {
                coState: Attribute<SmokeCoAlarm.AlarmState, any>;
            };
            events: {
                coAlarm: Event<TypeFromFields<{
                    alarmSeverityLevel: FieldType<(...)>;
                }>, any>;
                interconnectCoAlarm: OptionalEvent<TypeFromFields<{
                    alarmSeverityLevel: FieldType<(...)>;
                }>, any>;
            };
        };
        flags: {
            coAlarm: true;
        };
    }, {
        component: false;
        flags: {
            coAlarm: false;
            smokeAlarm: false;
        };
    }];
    features: {
        coAlarm: BitFlag;
        smokeAlarm: BitFlag;
    };
    id: 92;
    name: "SmokeCoAlarm";
    revision: 1;
}>, Type<Of<{
    attributes: {};
    commands: {};
    events: {};
    id: 0;
    name: "Unknown";
    revision: 0;
}>, typeof ClusterBehavior, SmokeCoAlarmInterface>, SmokeCoAlarmInterface> = ...

SmokeCoAlarmBehavior is the base class for objects that support interaction with SmokeCoAlarm.Cluster.

SmokeCoAlarm.Cluster requires you to enable one or more optional features. You can do so using SmokeCoAlarmBehavior.with.