import * as v from "@zwave-js/core/validation";
export function validateArgs_MultiChannelCCAPI_getEndpointCapabilities() {
    return (__decoratedMethod, { kind }) => {
        if (kind === "method") {
            return function getEndpointCapabilities(endpoint) {
                v.assert(v.primitive({ kind: "parameter", name: "endpoint" }, "number")(endpoint));
                return __decoratedMethod.call(this, endpoint);
            };
        }
    };
}
export function validateArgs_MultiChannelCCAPI_findEndpoints() {
    return (__decoratedMethod, { kind }) => {
        if (kind === "method") {
            return function findEndpoints(genericClass, specificClass) {
                v.assert(v.primitive({ kind: "parameter", name: "genericClass" }, "number")(genericClass), v.primitive({ kind: "parameter", name: "specificClass" }, "number")(specificClass));
                return __decoratedMethod.call(this, genericClass, specificClass);
            };
        }
    };
}
export function validateArgs_MultiChannelCCAPI_getAggregatedMembers() {
    return (__decoratedMethod, { kind }) => {
        if (kind === "method") {
            return function getAggregatedMembers(endpoint) {
                v.assert(v.primitive({ kind: "parameter", name: "endpoint" }, "number")(endpoint));
                return __decoratedMethod.call(this, endpoint);
            };
        }
    };
}
export function validateArgs_MultiChannelCCAPI_getEndpointCountV1() {
    return (__decoratedMethod, { kind }) => {
        if (kind === "method") {
            return function getEndpointCountV1(ccId) {
                v.assert(v.enum({ kind: "parameter", name: "ccId" }, "CommandClasses")(ccId));
                return __decoratedMethod.call(this, ccId);
            };
        }
    };
}
//# sourceMappingURL=MultiChannelCC._validateArgs.js.map