"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  // If the importer is in node compatibility mode or this is not an ESM
  // file that has been converted to a CommonJS file using a Babel-
  // compatible transform (i.e. "__esModule" has not been set), then set
  // "default" to the CommonJS "module.exports" for node compatibility.
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var UserCredentialCC_validateArgs_exports = {};
__export(UserCredentialCC_validateArgs_exports, {
  validateArgs_UserCredentialCCAPI_getCredential: () => validateArgs_UserCredentialCCAPI_getCredential,
  validateArgs_UserCredentialCCAPI_getCredentialChecksum: () => validateArgs_UserCredentialCCAPI_getCredentialChecksum,
  validateArgs_UserCredentialCCAPI_getKeyLockerEntry: () => validateArgs_UserCredentialCCAPI_getKeyLockerEntry,
  validateArgs_UserCredentialCCAPI_getUser: () => validateArgs_UserCredentialCCAPI_getUser,
  validateArgs_UserCredentialCCAPI_getUserChecksum: () => validateArgs_UserCredentialCCAPI_getUserChecksum,
  validateArgs_UserCredentialCCAPI_sendAdminPinCodeReport: () => validateArgs_UserCredentialCCAPI_sendAdminPinCodeReport,
  validateArgs_UserCredentialCCAPI_sendAllUsersChecksumReport: () => validateArgs_UserCredentialCCAPI_sendAllUsersChecksumReport,
  validateArgs_UserCredentialCCAPI_sendCredentialCapabilitiesReport: () => validateArgs_UserCredentialCCAPI_sendCredentialCapabilitiesReport,
  validateArgs_UserCredentialCCAPI_sendCredentialChecksumReport: () => validateArgs_UserCredentialCCAPI_sendCredentialChecksumReport,
  validateArgs_UserCredentialCCAPI_sendCredentialLearnReport: () => validateArgs_UserCredentialCCAPI_sendCredentialLearnReport,
  validateArgs_UserCredentialCCAPI_sendCredentialReport: () => validateArgs_UserCredentialCCAPI_sendCredentialReport,
  validateArgs_UserCredentialCCAPI_sendKeyLockerCapabilitiesReport: () => validateArgs_UserCredentialCCAPI_sendKeyLockerCapabilitiesReport,
  validateArgs_UserCredentialCCAPI_sendKeyLockerEntryReport: () => validateArgs_UserCredentialCCAPI_sendKeyLockerEntryReport,
  validateArgs_UserCredentialCCAPI_sendUserCapabilitiesReport: () => validateArgs_UserCredentialCCAPI_sendUserCapabilitiesReport,
  validateArgs_UserCredentialCCAPI_sendUserChecksumReport: () => validateArgs_UserCredentialCCAPI_sendUserChecksumReport,
  validateArgs_UserCredentialCCAPI_sendUserCredentialAssociationReport: () => validateArgs_UserCredentialCCAPI_sendUserCredentialAssociationReport,
  validateArgs_UserCredentialCCAPI_sendUserReport: () => validateArgs_UserCredentialCCAPI_sendUserReport,
  validateArgs_UserCredentialCCAPI_setAdminPinCode: () => validateArgs_UserCredentialCCAPI_setAdminPinCode,
  validateArgs_UserCredentialCCAPI_setCredential: () => validateArgs_UserCredentialCCAPI_setCredential,
  validateArgs_UserCredentialCCAPI_setKeyLockerEntry: () => validateArgs_UserCredentialCCAPI_setKeyLockerEntry,
  validateArgs_UserCredentialCCAPI_setUser: () => validateArgs_UserCredentialCCAPI_setUser,
  validateArgs_UserCredentialCCAPI_setUserCredentialAssociation: () => validateArgs_UserCredentialCCAPI_setUserCredentialAssociation,
  validateArgs_UserCredentialCCAPI_startCredentialLearn: () => validateArgs_UserCredentialCCAPI_startCredentialLearn
});
module.exports = __toCommonJS(UserCredentialCC_validateArgs_exports);
var import_shared = require("@zwave-js/shared");
var v = __toESM(require("@zwave-js/core/validation"), 1);
function validateArgs_UserCredentialCCAPI_setUser() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function setUser(options) {
        v.assert(v.oneOf({ kind: "parameter", name: "options" }, "UserCredentialCCUserSetOptions", v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "operationType": v.oneOf({ kind: "property", name: "operationType" }, void 0, v.literal({ kind: "property", name: "operationType" }, 0), v.literal({ kind: "property", name: "operationType" }, 1)), "active": v.optional({ kind: "property", name: "active" }, v.primitive({ kind: "property", name: "active" }, "boolean")), "credentialRule": v.optional({ kind: "property", name: "credentialRule" }, v.oneOf({ kind: "property", name: "credentialRule" }, void 0, v.literal({ kind: "property", name: "credentialRule" }, 1), v.literal({ kind: "property", name: "credentialRule" }, 2), v.literal({ kind: "property", name: "credentialRule" }, 3))), "nameEncoding": v.optional({ kind: "property", name: "nameEncoding" }, v.oneOf({ kind: "property", name: "nameEncoding" }, void 0, v.literal({ kind: "property", name: "nameEncoding" }, 0), v.literal({ kind: "property", name: "nameEncoding" }, 1), v.literal({ kind: "property", name: "nameEncoding" }, 2))), "userName": v.optional({ kind: "property", name: "userName" }, v.primitive({ kind: "property", name: "userName" }, "string")) }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "userType": v.literal({ kind: "property", name: "userType" }, 7), "expiringTimeoutMinutes": v.primitive({ kind: "property", name: "expiringTimeoutMinutes" }, "number") })), v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "operationType": v.oneOf({ kind: "property", name: "operationType" }, void 0, v.literal({ kind: "property", name: "operationType" }, 0), v.literal({ kind: "property", name: "operationType" }, 1)), "active": v.optional({ kind: "property", name: "active" }, v.primitive({ kind: "property", name: "active" }, "boolean")), "credentialRule": v.optional({ kind: "property", name: "credentialRule" }, v.oneOf({ kind: "property", name: "credentialRule" }, void 0, v.literal({ kind: "property", name: "credentialRule" }, 1), v.literal({ kind: "property", name: "credentialRule" }, 2), v.literal({ kind: "property", name: "credentialRule" }, 3))), "nameEncoding": v.optional({ kind: "property", name: "nameEncoding" }, v.oneOf({ kind: "property", name: "nameEncoding" }, void 0, v.literal({ kind: "property", name: "nameEncoding" }, 0), v.literal({ kind: "property", name: "nameEncoding" }, 1), v.literal({ kind: "property", name: "nameEncoding" }, 2))), "userName": v.optional({ kind: "property", name: "userName" }, v.primitive({ kind: "property", name: "userName" }, "string")) }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "userType": v.optional({ kind: "property", name: "userType" }, v.oneOf({ kind: "property", name: "userType" }, void 0, v.literal({ kind: "property", name: "userType" }, 0), v.literal({ kind: "property", name: "userType" }, 3), v.literal({ kind: "property", name: "userType" }, 4), v.literal({ kind: "property", name: "userType" }, 5), v.literal({ kind: "property", name: "userType" }, 6), v.literal({ kind: "property", name: "userType" }, 9))), "expiringTimeoutMinutes": v.undefined({ kind: "property", name: "expiringTimeoutMinutes" }) })), v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "operationType": v.literal({ kind: "property", name: "operationType" }, 2), "userType": v.undefined({ kind: "property", name: "userType" }), "active": v.undefined({ kind: "property", name: "active" }), "credentialRule": v.undefined({ kind: "property", name: "credentialRule" }), "expiringTimeoutMinutes": v.undefined({ kind: "property", name: "expiringTimeoutMinutes" }), "nameEncoding": v.undefined({ kind: "property", name: "nameEncoding" }), "userName": v.undefined({ kind: "property", name: "userName" }) })))(options));
        return __decoratedMethod.call(this, options);
      }, "setUser");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_setUser, "validateArgs_UserCredentialCCAPI_setUser");
function validateArgs_UserCredentialCCAPI_getUser() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function getUser(userId) {
        v.assert(v.primitive({ kind: "parameter", name: "userId" }, "number")(userId));
        return __decoratedMethod.call(this, userId);
      }, "getUser");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_getUser, "validateArgs_UserCredentialCCAPI_getUser");
function validateArgs_UserCredentialCCAPI_setCredential() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function setCredential(options) {
        v.assert(v.oneOf({ kind: "parameter", name: "options" }, "UserCredentialCCCredentialSetOptions", v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "credentialType": v.enum({ kind: "property", name: "credentialType" }, "UserCredentialType"), "credentialSlot": v.primitive({ kind: "property", name: "credentialSlot" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "operationType": v.oneOf({ kind: "property", name: "operationType" }, void 0, v.literal({ kind: "property", name: "operationType" }, 0), v.literal({ kind: "property", name: "operationType" }, 1)), "credentialData": v.class({ kind: "property", name: "credentialData" }, "Bytes", import_shared.Bytes) })), v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "credentialType": v.enum({ kind: "property", name: "credentialType" }, "UserCredentialType"), "credentialSlot": v.primitive({ kind: "property", name: "credentialSlot" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "operationType": v.literal({ kind: "property", name: "operationType" }, 2), "credentialData": v.undefined({ kind: "property", name: "credentialData" }) })))(options));
        return __decoratedMethod.call(this, options);
      }, "setCredential");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_setCredential, "validateArgs_UserCredentialCCAPI_setCredential");
function validateArgs_UserCredentialCCAPI_getCredential() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function getCredential(userId, credentialType, credentialSlot) {
        v.assert(v.primitive({ kind: "parameter", name: "userId" }, "number")(userId), v.enum({ kind: "parameter", name: "credentialType" }, "UserCredentialType")(credentialType), v.primitive({ kind: "parameter", name: "credentialSlot" }, "number")(credentialSlot));
        return __decoratedMethod.call(this, userId, credentialType, credentialSlot);
      }, "getCredential");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_getCredential, "validateArgs_UserCredentialCCAPI_getCredential");
function validateArgs_UserCredentialCCAPI_startCredentialLearn() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function startCredentialLearn(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCCredentialLearnStartOptions", { "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "credentialType": v.enum({ kind: "property", name: "credentialType" }, "UserCredentialType"), "credentialSlot": v.primitive({ kind: "property", name: "credentialSlot" }, "number"), "operationType": v.enum({ kind: "property", name: "operationType" }, "UserCredentialOperationType"), "learnTimeout": v.primitive({ kind: "property", name: "learnTimeout" }, "number") })(options));
        return __decoratedMethod.call(this, options);
      }, "startCredentialLearn");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_startCredentialLearn, "validateArgs_UserCredentialCCAPI_startCredentialLearn");
function validateArgs_UserCredentialCCAPI_setUserCredentialAssociation() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function setUserCredentialAssociation(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCAssociationSetOptions", { "credentialType": v.enum({ kind: "property", name: "credentialType" }, "UserCredentialType"), "credentialSlot": v.primitive({ kind: "property", name: "credentialSlot" }, "number"), "destinationUserId": v.primitive({ kind: "property", name: "destinationUserId" }, "number") })(options));
        return __decoratedMethod.call(this, options);
      }, "setUserCredentialAssociation");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_setUserCredentialAssociation, "validateArgs_UserCredentialCCAPI_setUserCredentialAssociation");
function validateArgs_UserCredentialCCAPI_getUserChecksum() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function getUserChecksum(userId) {
        v.assert(v.primitive({ kind: "parameter", name: "userId" }, "number")(userId));
        return __decoratedMethod.call(this, userId);
      }, "getUserChecksum");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_getUserChecksum, "validateArgs_UserCredentialCCAPI_getUserChecksum");
function validateArgs_UserCredentialCCAPI_getCredentialChecksum() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function getCredentialChecksum(credentialType) {
        v.assert(v.enum({ kind: "parameter", name: "credentialType" }, "UserCredentialType")(credentialType));
        return __decoratedMethod.call(this, credentialType);
      }, "getCredentialChecksum");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_getCredentialChecksum, "validateArgs_UserCredentialCCAPI_getCredentialChecksum");
function validateArgs_UserCredentialCCAPI_setAdminPinCode() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function setAdminPinCode(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCAdminPinCodeSetOptions", { "pinCode": v.primitive({ kind: "property", name: "pinCode" }, "string") })(options));
        return __decoratedMethod.call(this, options);
      }, "setAdminPinCode");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_setAdminPinCode, "validateArgs_UserCredentialCCAPI_setAdminPinCode");
function validateArgs_UserCredentialCCAPI_setKeyLockerEntry() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function setKeyLockerEntry(options) {
        v.assert(v.oneOf({ kind: "parameter", name: "options" }, "UserCredentialCCKeyLockerEntrySetOptions", v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "entryType": v.literal({ kind: "property", name: "entryType" }, 1), "entrySlot": v.primitive({ kind: "property", name: "entrySlot" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "operationType": v.oneOf({ kind: "property", name: "operationType" }, void 0, v.literal({ kind: "property", name: "operationType" }, 0), v.literal({ kind: "property", name: "operationType" }, 1)), "entryData": v.class({ kind: "property", name: "entryData" }, "Bytes", import_shared.Bytes) })), v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "entryType": v.literal({ kind: "property", name: "entryType" }, 1), "entrySlot": v.primitive({ kind: "property", name: "entrySlot" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "operationType": v.literal({ kind: "property", name: "operationType" }, 2), "entryData": v.undefined({ kind: "property", name: "entryData" }) })))(options));
        return __decoratedMethod.call(this, options);
      }, "setKeyLockerEntry");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_setKeyLockerEntry, "validateArgs_UserCredentialCCAPI_setKeyLockerEntry");
function validateArgs_UserCredentialCCAPI_getKeyLockerEntry() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function getKeyLockerEntry(entryType, entrySlot) {
        v.assert(v.literal({ kind: "parameter", name: "entryType" }, 1)(entryType), v.primitive({ kind: "parameter", name: "entrySlot" }, "number")(entrySlot));
        return __decoratedMethod.call(this, entryType, entrySlot);
      }, "getKeyLockerEntry");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_getKeyLockerEntry, "validateArgs_UserCredentialCCAPI_getKeyLockerEntry");
function validateArgs_UserCredentialCCAPI_sendUserCapabilitiesReport() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function sendUserCapabilitiesReport(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCUserCapabilitiesReportOptions", { "numberOfSupportedUsers": v.primitive({ kind: "property", name: "numberOfSupportedUsers" }, "number"), "supportedCredentialRules": v.array({ kind: "property", name: "supportedCredentialRules" }, "UserCredentialRule", v.enum({ kind: "item", name: "supportedCredentialRules" }, "UserCredentialRule")), "maxUserNameLength": v.primitive({ kind: "property", name: "maxUserNameLength" }, "number"), "supportsUserSchedule": v.primitive({ kind: "property", name: "supportsUserSchedule" }, "boolean"), "supportsAllUsersChecksum": v.primitive({ kind: "property", name: "supportsAllUsersChecksum" }, "boolean"), "supportsUserChecksum": v.primitive({ kind: "property", name: "supportsUserChecksum" }, "boolean"), "supportedUserNameEncodings": v.array({ kind: "property", name: "supportedUserNameEncodings" }, "UserCredentialNameEncoding", v.enum({ kind: "item", name: "supportedUserNameEncodings" }, "UserCredentialNameEncoding")), "supportedUserTypes": v.array({ kind: "property", name: "supportedUserTypes" }, "UserCredentialUserType", v.enum({ kind: "item", name: "supportedUserTypes" }, "UserCredentialUserType")) })(options));
        return __decoratedMethod.call(this, options);
      }, "sendUserCapabilitiesReport");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_sendUserCapabilitiesReport, "validateArgs_UserCredentialCCAPI_sendUserCapabilitiesReport");
function validateArgs_UserCredentialCCAPI_sendCredentialCapabilitiesReport() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function sendCredentialCapabilitiesReport(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCCredentialCapabilitiesReportOptions", { "supportsCredentialChecksum": v.primitive({ kind: "property", name: "supportsCredentialChecksum" }, "boolean"), "supportsAdminCode": v.primitive({ kind: "property", name: "supportsAdminCode" }, "boolean"), "supportsAdminCodeDeactivation": v.primitive({ kind: "property", name: "supportsAdminCodeDeactivation" }, "boolean"), "credentialTypes": v.class({ kind: "property", name: "credentialTypes" }, "Map", Map) })(options));
        return __decoratedMethod.call(this, options);
      }, "sendCredentialCapabilitiesReport");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_sendCredentialCapabilitiesReport, "validateArgs_UserCredentialCCAPI_sendCredentialCapabilitiesReport");
function validateArgs_UserCredentialCCAPI_sendKeyLockerCapabilitiesReport() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function sendKeyLockerCapabilitiesReport(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCKeyLockerCapabilitiesReportOptions", { "keyLockerCapabilities": v.class({ kind: "property", name: "keyLockerCapabilities" }, "Map", Map) })(options));
        return __decoratedMethod.call(this, options);
      }, "sendKeyLockerCapabilitiesReport");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_sendKeyLockerCapabilitiesReport, "validateArgs_UserCredentialCCAPI_sendKeyLockerCapabilitiesReport");
function validateArgs_UserCredentialCCAPI_sendUserReport() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function sendUserReport(options) {
        v.assert(v.oneOf({ kind: "parameter", name: "options" }, "UserCredentialCCUserReportOptions", v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "modifierType": v.enum({ kind: "property", name: "modifierType" }, "UserCredentialModifierType"), "modifierNodeId": v.primitive({ kind: "property", name: "modifierNodeId" }, "number"), "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "userType": v.enum({ kind: "property", name: "userType" }, "UserCredentialUserType"), "active": v.primitive({ kind: "property", name: "active" }, "boolean"), "credentialRule": v.enum({ kind: "property", name: "credentialRule" }, "UserCredentialRule"), "expiringTimeoutMinutes": v.primitive({ kind: "property", name: "expiringTimeoutMinutes" }, "number"), "nameEncoding": v.enum({ kind: "property", name: "nameEncoding" }, "UserCredentialNameEncoding"), "userName": v.primitive({ kind: "property", name: "userName" }, "string") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "reportType": v.literal({ kind: "property", name: "reportType" }, 4), "nextUserId": v.primitive({ kind: "property", name: "nextUserId" }, "number") })), v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "modifierType": v.enum({ kind: "property", name: "modifierType" }, "UserCredentialModifierType"), "modifierNodeId": v.primitive({ kind: "property", name: "modifierNodeId" }, "number"), "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "userType": v.enum({ kind: "property", name: "userType" }, "UserCredentialUserType"), "active": v.primitive({ kind: "property", name: "active" }, "boolean"), "credentialRule": v.enum({ kind: "property", name: "credentialRule" }, "UserCredentialRule"), "expiringTimeoutMinutes": v.primitive({ kind: "property", name: "expiringTimeoutMinutes" }, "number"), "nameEncoding": v.enum({ kind: "property", name: "nameEncoding" }, "UserCredentialNameEncoding"), "userName": v.primitive({ kind: "property", name: "userName" }, "string") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "reportType": v.oneOf({ kind: "property", name: "reportType" }, void 0, v.literal({ kind: "property", name: "reportType" }, 0), v.literal({ kind: "property", name: "reportType" }, 1), v.literal({ kind: "property", name: "reportType" }, 2), v.literal({ kind: "property", name: "reportType" }, 3), v.literal({ kind: "property", name: "reportType" }, 5), v.literal({ kind: "property", name: "reportType" }, 6), v.literal({ kind: "property", name: "reportType" }, 7)), "nextUserId": v.undefined({ kind: "property", name: "nextUserId" }) })))(options));
        return __decoratedMethod.call(this, options);
      }, "sendUserReport");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_sendUserReport, "validateArgs_UserCredentialCCAPI_sendUserReport");
function validateArgs_UserCredentialCCAPI_sendCredentialReport() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function sendCredentialReport(options) {
        v.assert(v.oneOf({ kind: "parameter", name: "options" }, "UserCredentialCCCredentialReportOptions", v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "credentialType": v.enum({ kind: "property", name: "credentialType" }, "UserCredentialType"), "credentialSlot": v.primitive({ kind: "property", name: "credentialSlot" }, "number"), "modifierType": v.enum({ kind: "property", name: "modifierType" }, "UserCredentialModifierType"), "modifierNodeId": v.primitive({ kind: "property", name: "modifierNodeId" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "credentialReadBack": v.literal({ kind: "property", name: "credentialReadBack" }, true), "credentialData": v.class({ kind: "property", name: "credentialData" }, "Bytes", import_shared.Bytes) }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "reportType": v.literal({ kind: "property", name: "reportType" }, 4), "nextCredentialType": v.enum({ kind: "property", name: "nextCredentialType" }, "UserCredentialType"), "nextCredentialSlot": v.primitive({ kind: "property", name: "nextCredentialSlot" }, "number") })), v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "credentialType": v.enum({ kind: "property", name: "credentialType" }, "UserCredentialType"), "credentialSlot": v.primitive({ kind: "property", name: "credentialSlot" }, "number"), "modifierType": v.enum({ kind: "property", name: "modifierType" }, "UserCredentialModifierType"), "modifierNodeId": v.primitive({ kind: "property", name: "modifierNodeId" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "credentialReadBack": v.literal({ kind: "property", name: "credentialReadBack" }, true), "credentialData": v.class({ kind: "property", name: "credentialData" }, "Bytes", import_shared.Bytes) }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "reportType": v.oneOf({ kind: "property", name: "reportType" }, void 0, v.literal({ kind: "property", name: "reportType" }, 0), v.literal({ kind: "property", name: "reportType" }, 1), v.literal({ kind: "property", name: "reportType" }, 2), v.literal({ kind: "property", name: "reportType" }, 3), v.literal({ kind: "property", name: "reportType" }, 5), v.literal({ kind: "property", name: "reportType" }, 6), v.literal({ kind: "property", name: "reportType" }, 7), v.literal({ kind: "property", name: "reportType" }, 8), v.literal({ kind: "property", name: "reportType" }, 9), v.literal({ kind: "property", name: "reportType" }, 10)), "nextCredentialType": v.undefined({ kind: "property", name: "nextCredentialType" }), "nextCredentialSlot": v.undefined({ kind: "property", name: "nextCredentialSlot" }) })), v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "credentialType": v.enum({ kind: "property", name: "credentialType" }, "UserCredentialType"), "credentialSlot": v.primitive({ kind: "property", name: "credentialSlot" }, "number"), "modifierType": v.enum({ kind: "property", name: "modifierType" }, "UserCredentialModifierType"), "modifierNodeId": v.primitive({ kind: "property", name: "modifierNodeId" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "credentialReadBack": v.literal({ kind: "property", name: "credentialReadBack" }, false), "credentialData": v.undefined({ kind: "property", name: "credentialData" }) }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "reportType": v.literal({ kind: "property", name: "reportType" }, 4), "nextCredentialType": v.enum({ kind: "property", name: "nextCredentialType" }, "UserCredentialType"), "nextCredentialSlot": v.primitive({ kind: "property", name: "nextCredentialSlot" }, "number") })), v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "credentialType": v.enum({ kind: "property", name: "credentialType" }, "UserCredentialType"), "credentialSlot": v.primitive({ kind: "property", name: "credentialSlot" }, "number"), "modifierType": v.enum({ kind: "property", name: "modifierType" }, "UserCredentialModifierType"), "modifierNodeId": v.primitive({ kind: "property", name: "modifierNodeId" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "credentialReadBack": v.literal({ kind: "property", name: "credentialReadBack" }, false), "credentialData": v.undefined({ kind: "property", name: "credentialData" }) }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "reportType": v.oneOf({ kind: "property", name: "reportType" }, void 0, v.literal({ kind: "property", name: "reportType" }, 0), v.literal({ kind: "property", name: "reportType" }, 1), v.literal({ kind: "property", name: "reportType" }, 2), v.literal({ kind: "property", name: "reportType" }, 3), v.literal({ kind: "property", name: "reportType" }, 5), v.literal({ kind: "property", name: "reportType" }, 6), v.literal({ kind: "property", name: "reportType" }, 7), v.literal({ kind: "property", name: "reportType" }, 8), v.literal({ kind: "property", name: "reportType" }, 9), v.literal({ kind: "property", name: "reportType" }, 10)), "nextCredentialType": v.undefined({ kind: "property", name: "nextCredentialType" }), "nextCredentialSlot": v.undefined({ kind: "property", name: "nextCredentialSlot" }) })))(options));
        return __decoratedMethod.call(this, options);
      }, "sendCredentialReport");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_sendCredentialReport, "validateArgs_UserCredentialCCAPI_sendCredentialReport");
function validateArgs_UserCredentialCCAPI_sendCredentialLearnReport() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function sendCredentialLearnReport(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCCredentialLearnReportOptions", { "learnStatus": v.enum({ kind: "property", name: "learnStatus" }, "UserCredentialLearnStatus"), "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "credentialType": v.enum({ kind: "property", name: "credentialType" }, "UserCredentialType"), "credentialSlot": v.primitive({ kind: "property", name: "credentialSlot" }, "number"), "stepsRemaining": v.primitive({ kind: "property", name: "stepsRemaining" }, "number") })(options));
        return __decoratedMethod.call(this, options);
      }, "sendCredentialLearnReport");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_sendCredentialLearnReport, "validateArgs_UserCredentialCCAPI_sendCredentialLearnReport");
function validateArgs_UserCredentialCCAPI_sendUserCredentialAssociationReport() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function sendUserCredentialAssociationReport(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCAssociationReportOptions", { "credentialType": v.enum({ kind: "property", name: "credentialType" }, "UserCredentialType"), "credentialSlot": v.primitive({ kind: "property", name: "credentialSlot" }, "number"), "destinationUserId": v.primitive({ kind: "property", name: "destinationUserId" }, "number"), "status": v.primitive({ kind: "property", name: "status" }, "number") })(options));
        return __decoratedMethod.call(this, options);
      }, "sendUserCredentialAssociationReport");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_sendUserCredentialAssociationReport, "validateArgs_UserCredentialCCAPI_sendUserCredentialAssociationReport");
function validateArgs_UserCredentialCCAPI_sendAllUsersChecksumReport() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function sendAllUsersChecksumReport(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCAllUsersChecksumReportOptions", { "checksum": v.primitive({ kind: "property", name: "checksum" }, "number") })(options));
        return __decoratedMethod.call(this, options);
      }, "sendAllUsersChecksumReport");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_sendAllUsersChecksumReport, "validateArgs_UserCredentialCCAPI_sendAllUsersChecksumReport");
function validateArgs_UserCredentialCCAPI_sendUserChecksumReport() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function sendUserChecksumReport(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCUserChecksumReportOptions", { "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "checksum": v.primitive({ kind: "property", name: "checksum" }, "number") })(options));
        return __decoratedMethod.call(this, options);
      }, "sendUserChecksumReport");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_sendUserChecksumReport, "validateArgs_UserCredentialCCAPI_sendUserChecksumReport");
function validateArgs_UserCredentialCCAPI_sendCredentialChecksumReport() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function sendCredentialChecksumReport(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCCredentialChecksumReportOptions", { "credentialType": v.enum({ kind: "property", name: "credentialType" }, "UserCredentialType"), "checksum": v.primitive({ kind: "property", name: "checksum" }, "number") })(options));
        return __decoratedMethod.call(this, options);
      }, "sendCredentialChecksumReport");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_sendCredentialChecksumReport, "validateArgs_UserCredentialCCAPI_sendCredentialChecksumReport");
function validateArgs_UserCredentialCCAPI_sendAdminPinCodeReport() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function sendAdminPinCodeReport(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCAdminPinCodeReportOptions", { "operationResult": v.enum({ kind: "property", name: "operationResult" }, "UserCredentialAdminCodeOperationResult"), "pinCode": v.primitive({ kind: "property", name: "pinCode" }, "string") })(options));
        return __decoratedMethod.call(this, options);
      }, "sendAdminPinCodeReport");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_sendAdminPinCodeReport, "validateArgs_UserCredentialCCAPI_sendAdminPinCodeReport");
function validateArgs_UserCredentialCCAPI_sendKeyLockerEntryReport() {
  return (__decoratedMethod, { kind }) => {
    if (kind === "method") {
      return /* @__PURE__ */ __name(function sendKeyLockerEntryReport(options) {
        v.assert(v.object({ kind: "parameter", name: "options" }, "UserCredentialCCKeyLockerEntryReportOptions", { "occupied": v.primitive({ kind: "property", name: "occupied" }, "boolean"), "entryType": v.literal({ kind: "property", name: "entryType" }, 1), "entrySlot": v.primitive({ kind: "property", name: "entrySlot" }, "number") })(options));
        return __decoratedMethod.call(this, options);
      }, "sendKeyLockerEntryReport");
    }
  };
}
__name(validateArgs_UserCredentialCCAPI_sendKeyLockerEntryReport, "validateArgs_UserCredentialCCAPI_sendKeyLockerEntryReport");
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  validateArgs_UserCredentialCCAPI_getCredential,
  validateArgs_UserCredentialCCAPI_getCredentialChecksum,
  validateArgs_UserCredentialCCAPI_getKeyLockerEntry,
  validateArgs_UserCredentialCCAPI_getUser,
  validateArgs_UserCredentialCCAPI_getUserChecksum,
  validateArgs_UserCredentialCCAPI_sendAdminPinCodeReport,
  validateArgs_UserCredentialCCAPI_sendAllUsersChecksumReport,
  validateArgs_UserCredentialCCAPI_sendCredentialCapabilitiesReport,
  validateArgs_UserCredentialCCAPI_sendCredentialChecksumReport,
  validateArgs_UserCredentialCCAPI_sendCredentialLearnReport,
  validateArgs_UserCredentialCCAPI_sendCredentialReport,
  validateArgs_UserCredentialCCAPI_sendKeyLockerCapabilitiesReport,
  validateArgs_UserCredentialCCAPI_sendKeyLockerEntryReport,
  validateArgs_UserCredentialCCAPI_sendUserCapabilitiesReport,
  validateArgs_UserCredentialCCAPI_sendUserChecksumReport,
  validateArgs_UserCredentialCCAPI_sendUserCredentialAssociationReport,
  validateArgs_UserCredentialCCAPI_sendUserReport,
  validateArgs_UserCredentialCCAPI_setAdminPinCode,
  validateArgs_UserCredentialCCAPI_setCredential,
  validateArgs_UserCredentialCCAPI_setKeyLockerEntry,
  validateArgs_UserCredentialCCAPI_setUser,
  validateArgs_UserCredentialCCAPI_setUserCredentialAssociation,
  validateArgs_UserCredentialCCAPI_startCredentialLearn
});
//# sourceMappingURL=UserCredentialCC._validateArgs.js.map
