import * as v from "@zwave-js/core/validation";
export function validateArgs_MultilevelSensorCCAPI_get() {
    return (__decoratedMethod, { kind }) => {
        if (kind === "method") {
            return function get(sensorType, scale) {
                v.assert(v.optional({ kind: "parameter", name: "sensorType" }, v.primitive({ kind: "parameter", name: "sensorType" }, "number"))(sensorType), v.optional({ kind: "parameter", name: "scale" }, v.primitive({ kind: "parameter", name: "scale" }, "number"))(scale));
                return __decoratedMethod.call(this, sensorType, scale);
            };
        }
    };
}
export function validateArgs_MultilevelSensorCCAPI_getSupportedScales() {
    return (__decoratedMethod, { kind }) => {
        if (kind === "method") {
            return function getSupportedScales(sensorType) {
                v.assert(v.primitive({ kind: "parameter", name: "sensorType" }, "number")(sensorType));
                return __decoratedMethod.call(this, sensorType);
            };
        }
    };
}
export function validateArgs_MultilevelSensorCCAPI_sendReport() {
    return (__decoratedMethod, { kind }) => {
        if (kind === "method") {
            return function sendReport(sensorType, scale, value) {
                v.assert(v.primitive({ kind: "parameter", name: "sensorType" }, "number")(sensorType), v.oneOf({ kind: "parameter", name: "scale" }, undefined, v.primitive({ kind: "parameter", name: "scale" }, "number"), v.object({ kind: "parameter", name: "scale" }, 'Scale', { "key": v.primitive({ kind: "property", name: "key" }, "number") }))(scale), v.primitive({ kind: "parameter", name: "value" }, "number")(value));
                return __decoratedMethod.call(this, sensorType, scale, value);
            };
        }
    };
}
//# sourceMappingURL=MultilevelSensorCC._validateArgs.js.map