import * as v from "@zwave-js/core/validation";
export function validateArgs_BinarySensorCCAPI_get() {
    return (__decoratedMethod, { kind }) => {
        if (kind === "method") {
            return function get(sensorType) {
                v.assert(v.optional({ kind: "parameter", name: "sensorType" }, v.oneOf({ kind: "parameter", name: "sensorType" }, undefined, v.literal({ kind: "parameter", name: "sensorType" }, 1), v.literal({ kind: "parameter", name: "sensorType" }, 2), v.literal({ kind: "parameter", name: "sensorType" }, 3), v.literal({ kind: "parameter", name: "sensorType" }, 4), v.literal({ kind: "parameter", name: "sensorType" }, 5), v.literal({ kind: "parameter", name: "sensorType" }, 6), v.literal({ kind: "parameter", name: "sensorType" }, 7), v.literal({ kind: "parameter", name: "sensorType" }, 8), v.literal({ kind: "parameter", name: "sensorType" }, 9), v.literal({ kind: "parameter", name: "sensorType" }, 10), v.literal({ kind: "parameter", name: "sensorType" }, 11), v.literal({ kind: "parameter", name: "sensorType" }, 12), v.literal({ kind: "parameter", name: "sensorType" }, 13), v.literal({ kind: "parameter", name: "sensorType" }, 255)))(sensorType));
                return __decoratedMethod.call(this, sensorType);
            };
        }
    };
}
export function validateArgs_BinarySensorCCAPI_sendReport() {
    return (__decoratedMethod, { kind }) => {
        if (kind === "method") {
            return function sendReport(value, sensorType) {
                v.assert(v.primitive({ kind: "parameter", name: "value" }, "boolean")(value), v.optional({ kind: "parameter", name: "sensorType" }, v.oneOf({ kind: "parameter", name: "sensorType" }, undefined, v.literal({ kind: "parameter", name: "sensorType" }, 1), v.literal({ kind: "parameter", name: "sensorType" }, 2), v.literal({ kind: "parameter", name: "sensorType" }, 3), v.literal({ kind: "parameter", name: "sensorType" }, 4), v.literal({ kind: "parameter", name: "sensorType" }, 5), v.literal({ kind: "parameter", name: "sensorType" }, 6), v.literal({ kind: "parameter", name: "sensorType" }, 7), v.literal({ kind: "parameter", name: "sensorType" }, 8), v.literal({ kind: "parameter", name: "sensorType" }, 9), v.literal({ kind: "parameter", name: "sensorType" }, 10), v.literal({ kind: "parameter", name: "sensorType" }, 11), v.literal({ kind: "parameter", name: "sensorType" }, 12), v.literal({ kind: "parameter", name: "sensorType" }, 13), v.literal({ kind: "parameter", name: "sensorType" }, 255)))(sensorType));
                return __decoratedMethod.call(this, value, sensorType);
            };
        }
    };
}
export function validateArgs_BinarySensorCCAPI_reportSupportedSensorTypes() {
    return (__decoratedMethod, { kind }) => {
        if (kind === "method") {
            return function reportSupportedSensorTypes(supported) {
                v.assert(v.array({ kind: "parameter", name: "supported" }, 'BinarySensorType', v.enum({ kind: "item", name: "supported" }, "BinarySensorType"))(supported));
                return __decoratedMethod.call(this, supported);
            };
        }
    };
}
//# sourceMappingURL=BinarySensorCC._validateArgs.js.map