SmokeCoAlarmBehavior: Type<Of<{
    attributes: {
        batteryAlert: .;
        deviceMuted: .;
        endOfServiceAlert: .;
        expiryDate: .;
        expressedState: .;
        hardwareFaultAlert: .;
        interconnectCoAlarm: .;
        interconnectSmokeAlarm: .;
        testInProgress: .;
    };
    commands: {
        selfTestRequest: .;
    };
    events: {
        alarmMuted: .;
        allClear: .;
        endOfService: .;
        hardwareFault: .;
        lowBattery: .;
        muteEnded: .;
        selfTestComplete: .;
    };
    extensions: readonly [{
        component: {
            attributes: {
                contaminationState: .;
                smokeSensitivityLevel: .;
                smokeState: .;
            };
            events: {
                interconnectSmokeAlarm: .;
                smokeAlarm: .;
            };
        };
        flags: {
            smokeAlarm: true;
        };
    }, {
        component: {
            attributes: {
                coState: .;
            };
            events: {
                coAlarm: .;
                interconnectCoAlarm: .;
            };
        };
        flags: {
            coAlarm: true;
        };
    }, {
        component: false;
        flags: {
            coAlarm: false;
            smokeAlarm: false;
        };
    }];
    features: {
        coAlarm: .;
        smokeAlarm: .;
    };
    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.