SwitchBehavior: Type<Of<{
    attributes: {
        currentPosition: .;
        numberOfPositions: .;
    };
    extensions: readonly [{
        component: {
            attributes: {
                multiPressMax: .;
            };
            events: {
                multiPressComplete: .;
                multiPressOngoing: .;
            };
        };
        flags: {
            momentarySwitchMultiPress: true;
        };
    }, {
        component: {
            events: {
                switchLatched: .;
            };
        };
        flags: {
            latchingSwitch: true;
        };
    }, {
        component: {
            events: {
                initialPress: .;
            };
        };
        flags: {
            momentarySwitch: true;
        };
    }, {
        component: {
            events: {
                longPress: .;
                longRelease: .;
            };
        };
        flags: {
            momentarySwitchLongPress: true;
        };
    }, {
        component: {
            events: {
                shortRelease: .;
            };
        };
        flags: {
            momentarySwitchRelease: true;
        };
    }, {
        component: false;
        flags: {
            momentarySwitch: false;
            momentarySwitchRelease: true;
        };
    }, {
        component: false;
        flags: {
            momentarySwitch: false;
            momentarySwitchLongPress: true;
        };
    }, {
        component: false;
        flags: {
            momentarySwitchLongPress: true;
            momentarySwitchRelease: false;
        };
    }, {
        component: false;
        flags: {
            momentarySwitch: false;
            momentarySwitchMultiPress: true;
        };
    }, {
        component: false;
        flags: {
            momentarySwitchMultiPress: true;
            momentarySwitchRelease: false;
        };
    }, {
        component: false;
        flags: {
            latchingSwitch: true;
            momentarySwitch: true;
        };
    }, {
        component: false;
        flags: {
            latchingSwitch: false;
            momentarySwitch: false;
        };
    }];
    features: {
        latchingSwitch: .;
        momentarySwitch: .;
        momentarySwitchLongPress: .;
        momentarySwitchMultiPress: .;
        momentarySwitchRelease: .;
    };
    id: 59;
    name: "Switch";
    revision: 1;
}>, typeof ClusterBehavior, {
    components: never[];
}>

SwitchBehavior is the base class for objects that support interaction with Switch.Cluster.

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