"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.serializeEnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField = serializeEnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField;
exports.deserializeEnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField = deserializeEnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField;
exports.serializeEnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField = serializeEnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField;
exports.deserializeEnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField = deserializeEnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField;
exports.serializeEnterpriseConfigurationSecurityV2025R0KeysafeField = serializeEnterpriseConfigurationSecurityV2025R0KeysafeField;
exports.deserializeEnterpriseConfigurationSecurityV2025R0KeysafeField = deserializeEnterpriseConfigurationSecurityV2025R0KeysafeField;
exports.serializeEnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField = serializeEnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField;
exports.deserializeEnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField = deserializeEnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField;
exports.serializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField = serializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField;
exports.deserializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField = deserializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField;
exports.serializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField = serializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField;
exports.deserializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField = deserializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField;
exports.serializeEnterpriseConfigurationSecurityV2025R0 = serializeEnterpriseConfigurationSecurityV2025R0;
exports.deserializeEnterpriseConfigurationSecurityV2025R0 = deserializeEnterpriseConfigurationSecurityV2025R0;
const enterpriseConfigurationItemBooleanV2025R0_1 = require("./enterpriseConfigurationItemBooleanV2025R0");
const enterpriseConfigurationItemBooleanV2025R0_2 = require("./enterpriseConfigurationItemBooleanV2025R0");
const enterpriseConfigurationItemV2025R0_1 = require("./enterpriseConfigurationItemV2025R0");
const enterpriseConfigurationItemStringV2025R0_1 = require("./enterpriseConfigurationItemStringV2025R0");
const enterpriseConfigurationItemStringV2025R0_2 = require("./enterpriseConfigurationItemStringV2025R0");
const enterpriseConfigurationItemIntegerV2025R0_1 = require("./enterpriseConfigurationItemIntegerV2025R0");
const enterpriseConfigurationItemIntegerV2025R0_2 = require("./enterpriseConfigurationItemIntegerV2025R0");
const externalCollabSecuritySettingsV2025R0_1 = require("./externalCollabSecuritySettingsV2025R0");
const externalCollabSecuritySettingsV2025R0_2 = require("./externalCollabSecuritySettingsV2025R0");
const keysafeSettingsV2025R0_1 = require("./keysafeSettingsV2025R0");
const keysafeSettingsV2025R0_2 = require("./keysafeSettingsV2025R0");
const customSessionDurationGroupItemV2025R0_1 = require("./customSessionDurationGroupItemV2025R0");
const customSessionDurationGroupItemV2025R0_2 = require("./customSessionDurationGroupItemV2025R0");
const utils_1 = require("../../internal/utils");
const utils_2 = require("../../internal/utils");
const errors_1 = require("../../box/errors");
const json_1 = require("../../serialization/json");
const json_2 = require("../../serialization/json");
const json_3 = require("../../serialization/json");
const json_4 = require("../../serialization/json");
const json_5 = require("../../serialization/json");
function serializeEnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField(val) {
    const base = (0, enterpriseConfigurationItemV2025R0_1.serializeEnterpriseConfigurationItemV2025R0)(val);
    if (!(0, json_5.sdIsMap)(base)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting a map for "EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField"',
        });
    }
    return {
        ...base,
        ...{
            ['value']: val.value == void 0 ? val.value : (0, utils_1.serializeDateTime)(val.value),
        },
    };
}
function deserializeEnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField(val) {
    if (!(0, json_5.sdIsMap)(val)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting a map for "EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField"',
        });
    }
    if (!(val.value == void 0) && !(0, json_3.sdIsString)(val.value)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting string for "value" of type "EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField"',
        });
    }
    const value = val.value == void 0 ? void 0 : (0, utils_2.deserializeDateTime)(val.value);
    if (!(val.is_used == void 0) && !(0, json_1.sdIsBoolean)(val.is_used)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting boolean for "is_used" of type "EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField"',
        });
    }
    const isUsed = val.is_used == void 0 ? void 0 : val.is_used;
    return {
        value: value,
        isUsed: isUsed,
    };
}
function serializeEnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField(val) {
    const base = (0, enterpriseConfigurationItemV2025R0_1.serializeEnterpriseConfigurationItemV2025R0)(val);
    if (!(0, json_5.sdIsMap)(base)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting a map for "EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField"',
        });
    }
    return {
        ...base,
        ...{
            ['value']: val.value == void 0
                ? val.value
                : (0, externalCollabSecuritySettingsV2025R0_1.serializeExternalCollabSecuritySettingsV2025R0)(val.value),
        },
    };
}
function deserializeEnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField(val) {
    if (!(0, json_5.sdIsMap)(val)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting a map for "EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField"',
        });
    }
    const value = val.value == void 0
        ? void 0
        : (0, externalCollabSecuritySettingsV2025R0_2.deserializeExternalCollabSecuritySettingsV2025R0)(val.value);
    if (!(val.is_used == void 0) && !(0, json_1.sdIsBoolean)(val.is_used)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting boolean for "is_used" of type "EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField"',
        });
    }
    const isUsed = val.is_used == void 0 ? void 0 : val.is_used;
    return {
        value: value,
        isUsed: isUsed,
    };
}
function serializeEnterpriseConfigurationSecurityV2025R0KeysafeField(val) {
    const base = (0, enterpriseConfigurationItemV2025R0_1.serializeEnterpriseConfigurationItemV2025R0)(val);
    if (!(0, json_5.sdIsMap)(base)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting a map for "EnterpriseConfigurationSecurityV2025R0KeysafeField"',
        });
    }
    return {
        ...base,
        ...{
            ['value']: val.value == void 0
                ? val.value
                : (0, keysafeSettingsV2025R0_1.serializeKeysafeSettingsV2025R0)(val.value),
        },
    };
}
function deserializeEnterpriseConfigurationSecurityV2025R0KeysafeField(val) {
    if (!(0, json_5.sdIsMap)(val)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting a map for "EnterpriseConfigurationSecurityV2025R0KeysafeField"',
        });
    }
    const value = val.value == void 0 ? void 0 : (0, keysafeSettingsV2025R0_2.deserializeKeysafeSettingsV2025R0)(val.value);
    if (!(val.is_used == void 0) && !(0, json_1.sdIsBoolean)(val.is_used)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting boolean for "is_used" of type "EnterpriseConfigurationSecurityV2025R0KeysafeField"',
        });
    }
    const isUsed = val.is_used == void 0 ? void 0 : val.is_used;
    return {
        value: value,
        isUsed: isUsed,
    };
}
function serializeEnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField(val) {
    const base = (0, enterpriseConfigurationItemV2025R0_1.serializeEnterpriseConfigurationItemV2025R0)(val);
    if (!(0, json_5.sdIsMap)(base)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting a map for "EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField"',
        });
    }
    return {
        ...base,
        ...{
            ['value']: val.value == void 0
                ? val.value
                : val.value.map(function (item) {
                    return (0, customSessionDurationGroupItemV2025R0_1.serializeCustomSessionDurationGroupItemV2025R0)(item);
                }),
        },
    };
}
function deserializeEnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField(val) {
    if (!(0, json_5.sdIsMap)(val)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting a map for "EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField"',
        });
    }
    if (!(val.value == void 0) && !(0, json_4.sdIsList)(val.value)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting array for "value" of type "EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField"',
        });
    }
    const value = val.value == void 0
        ? void 0
        : (0, json_4.sdIsList)(val.value)
            ? val.value.map(function (itm) {
                return (0, customSessionDurationGroupItemV2025R0_2.deserializeCustomSessionDurationGroupItemV2025R0)(itm);
            })
            : [];
    if (!(val.is_used == void 0) && !(0, json_1.sdIsBoolean)(val.is_used)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting boolean for "is_used" of type "EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField"',
        });
    }
    const isUsed = val.is_used == void 0 ? void 0 : val.is_used;
    return {
        value: value,
        isUsed: isUsed,
    };
}
function serializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField(val) {
    return { ['days']: val.days, ['hours']: val.hours };
}
function deserializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField(val) {
    if (!(0, json_5.sdIsMap)(val)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting a map for "EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField"',
        });
    }
    if (!(val.days == void 0) && !(0, json_2.sdIsNumber)(val.days)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting number for "days" of type "EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField"',
        });
    }
    const days = val.days == void 0 ? void 0 : val.days;
    if (!(val.hours == void 0) && !(0, json_2.sdIsNumber)(val.hours)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting number for "hours" of type "EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField"',
        });
    }
    const hours = val.hours == void 0 ? void 0 : val.hours;
    return {
        days: days,
        hours: hours,
    };
}
function serializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField(val) {
    const base = (0, enterpriseConfigurationItemV2025R0_1.serializeEnterpriseConfigurationItemV2025R0)(val);
    if (!(0, json_5.sdIsMap)(base)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting a map for "EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField"',
        });
    }
    return {
        ...base,
        ...{
            ['value']: val.value == void 0
                ? val.value
                : serializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField(val.value),
        },
    };
}
function deserializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField(val) {
    if (!(0, json_5.sdIsMap)(val)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting a map for "EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField"',
        });
    }
    const value = val.value == void 0
        ? void 0
        : deserializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField(val.value);
    if (!(val.is_used == void 0) && !(0, json_1.sdIsBoolean)(val.is_used)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting boolean for "is_used" of type "EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField"',
        });
    }
    const isUsed = val.is_used == void 0 ? void 0 : val.is_used;
    return {
        value: value,
        isUsed: isUsed,
    };
}
function serializeEnterpriseConfigurationSecurityV2025R0(val) {
    return {
        ['is_managed_user_signup_enabled']: val.isManagedUserSignupEnabled == void 0
            ? val.isManagedUserSignupEnabled
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isManagedUserSignupEnabled),
        ['is_managed_user_signup_notification_enabled']: val.isManagedUserSignupNotificationEnabled == void 0
            ? val.isManagedUserSignupNotificationEnabled
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isManagedUserSignupNotificationEnabled),
        ['is_managed_user_signup_corporate_email_enabled']: val.isManagedUserSignupCorporateEmailEnabled == void 0
            ? val.isManagedUserSignupCorporateEmailEnabled
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isManagedUserSignupCorporateEmailEnabled),
        ['is_new_user_notification_daily_digest_enabled']: val.isNewUserNotificationDailyDigestEnabled == void 0
            ? val.isNewUserNotificationDailyDigestEnabled
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isNewUserNotificationDailyDigestEnabled),
        ['is_managed_user_email_change_disabled']: val.isManagedUserEmailChangeDisabled == void 0
            ? val.isManagedUserEmailChangeDisabled
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isManagedUserEmailChangeDisabled),
        ['is_multi_factor_auth_required']: val.isMultiFactorAuthRequired == void 0
            ? val.isMultiFactorAuthRequired
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isMultiFactorAuthRequired),
        ['is_weak_password_prevention_enabled']: val.isWeakPasswordPreventionEnabled == void 0
            ? val.isWeakPasswordPreventionEnabled
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isWeakPasswordPreventionEnabled),
        ['is_password_leak_detection_enabled']: val.isPasswordLeakDetectionEnabled == void 0
            ? val.isPasswordLeakDetectionEnabled
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isPasswordLeakDetectionEnabled),
        ['last_password_reset_at']: val.lastPasswordResetAt == void 0
            ? val.lastPasswordResetAt
            : serializeEnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField(val.lastPasswordResetAt),
        ['is_password_request_notification_enabled']: val.isPasswordRequestNotificationEnabled == void 0
            ? val.isPasswordRequestNotificationEnabled
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isPasswordRequestNotificationEnabled),
        ['is_password_change_notification_enabled']: val.isPasswordChangeNotificationEnabled == void 0
            ? val.isPasswordChangeNotificationEnabled
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isPasswordChangeNotificationEnabled),
        ['is_strong_password_for_ext_collab_enabled']: val.isStrongPasswordForExtCollabEnabled == void 0
            ? val.isStrongPasswordForExtCollabEnabled
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isStrongPasswordForExtCollabEnabled),
        ['is_managed_user_migration_disabled']: val.isManagedUserMigrationDisabled == void 0
            ? val.isManagedUserMigrationDisabled
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isManagedUserMigrationDisabled),
        ['join_link']: val.joinLink == void 0
            ? val.joinLink
            : (0, enterpriseConfigurationItemStringV2025R0_1.serializeEnterpriseConfigurationItemStringV2025R0)(val.joinLink),
        ['join_url']: val.joinUrl == void 0
            ? val.joinUrl
            : (0, enterpriseConfigurationItemStringV2025R0_1.serializeEnterpriseConfigurationItemStringV2025R0)(val.joinUrl),
        ['failed_login_attempts_to_trigger_admin_notification']: val.failedLoginAttemptsToTriggerAdminNotification == void 0
            ? val.failedLoginAttemptsToTriggerAdminNotification
            : (0, enterpriseConfigurationItemIntegerV2025R0_1.serializeEnterpriseConfigurationItemIntegerV2025R0)(val.failedLoginAttemptsToTriggerAdminNotification),
        ['password_min_length']: val.passwordMinLength == void 0
            ? val.passwordMinLength
            : (0, enterpriseConfigurationItemIntegerV2025R0_1.serializeEnterpriseConfigurationItemIntegerV2025R0)(val.passwordMinLength),
        ['password_min_uppercase_characters']: val.passwordMinUppercaseCharacters == void 0
            ? val.passwordMinUppercaseCharacters
            : (0, enterpriseConfigurationItemIntegerV2025R0_1.serializeEnterpriseConfigurationItemIntegerV2025R0)(val.passwordMinUppercaseCharacters),
        ['password_min_numeric_characters']: val.passwordMinNumericCharacters == void 0
            ? val.passwordMinNumericCharacters
            : (0, enterpriseConfigurationItemIntegerV2025R0_1.serializeEnterpriseConfigurationItemIntegerV2025R0)(val.passwordMinNumericCharacters),
        ['password_min_special_characters']: val.passwordMinSpecialCharacters == void 0
            ? val.passwordMinSpecialCharacters
            : (0, enterpriseConfigurationItemIntegerV2025R0_1.serializeEnterpriseConfigurationItemIntegerV2025R0)(val.passwordMinSpecialCharacters),
        ['password_reset_frequency']: val.passwordResetFrequency == void 0
            ? val.passwordResetFrequency
            : (0, enterpriseConfigurationItemStringV2025R0_1.serializeEnterpriseConfigurationItemStringV2025R0)(val.passwordResetFrequency),
        ['previous_password_reuse_limit']: val.previousPasswordReuseLimit == void 0
            ? val.previousPasswordReuseLimit
            : (0, enterpriseConfigurationItemStringV2025R0_1.serializeEnterpriseConfigurationItemStringV2025R0)(val.previousPasswordReuseLimit),
        ['session_duration']: val.sessionDuration == void 0
            ? val.sessionDuration
            : (0, enterpriseConfigurationItemStringV2025R0_1.serializeEnterpriseConfigurationItemStringV2025R0)(val.sessionDuration),
        ['external_collab_multi_factor_auth_settings']: val.externalCollabMultiFactorAuthSettings == void 0
            ? val.externalCollabMultiFactorAuthSettings
            : serializeEnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField(val.externalCollabMultiFactorAuthSettings),
        ['keysafe']: val.keysafe == void 0
            ? val.keysafe
            : serializeEnterpriseConfigurationSecurityV2025R0KeysafeField(val.keysafe),
        ['is_custom_session_duration_enabled']: val.isCustomSessionDurationEnabled == void 0
            ? val.isCustomSessionDurationEnabled
            : (0, enterpriseConfigurationItemBooleanV2025R0_1.serializeEnterpriseConfigurationItemBooleanV2025R0)(val.isCustomSessionDurationEnabled),
        ['custom_session_duration_value']: val.customSessionDurationValue == void 0
            ? val.customSessionDurationValue
            : (0, enterpriseConfigurationItemStringV2025R0_1.serializeEnterpriseConfigurationItemStringV2025R0)(val.customSessionDurationValue),
        ['custom_session_duration_groups']: val.customSessionDurationGroups == void 0
            ? val.customSessionDurationGroups
            : serializeEnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField(val.customSessionDurationGroups),
        ['multi_factor_auth_type']: val.multiFactorAuthType == void 0
            ? val.multiFactorAuthType
            : (0, enterpriseConfigurationItemStringV2025R0_1.serializeEnterpriseConfigurationItemStringV2025R0)(val.multiFactorAuthType),
        ['enforced_mfa_frequency']: val.enforcedMfaFrequency == void 0
            ? val.enforcedMfaFrequency
            : serializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField(val.enforcedMfaFrequency),
    };
}
function deserializeEnterpriseConfigurationSecurityV2025R0(val) {
    if (!(0, json_5.sdIsMap)(val)) {
        throw new errors_1.BoxSdkError({
            message: 'Expecting a map for "EnterpriseConfigurationSecurityV2025R0"',
        });
    }
    const isManagedUserSignupEnabled = val.is_managed_user_signup_enabled == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_managed_user_signup_enabled);
    const isManagedUserSignupNotificationEnabled = val.is_managed_user_signup_notification_enabled == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_managed_user_signup_notification_enabled);
    const isManagedUserSignupCorporateEmailEnabled = val.is_managed_user_signup_corporate_email_enabled == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_managed_user_signup_corporate_email_enabled);
    const isNewUserNotificationDailyDigestEnabled = val.is_new_user_notification_daily_digest_enabled == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_new_user_notification_daily_digest_enabled);
    const isManagedUserEmailChangeDisabled = val.is_managed_user_email_change_disabled == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_managed_user_email_change_disabled);
    const isMultiFactorAuthRequired = val.is_multi_factor_auth_required == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_multi_factor_auth_required);
    const isWeakPasswordPreventionEnabled = val.is_weak_password_prevention_enabled == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_weak_password_prevention_enabled);
    const isPasswordLeakDetectionEnabled = val.is_password_leak_detection_enabled == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_password_leak_detection_enabled);
    const lastPasswordResetAt = val.last_password_reset_at == void 0
        ? void 0
        : deserializeEnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField(val.last_password_reset_at);
    const isPasswordRequestNotificationEnabled = val.is_password_request_notification_enabled == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_password_request_notification_enabled);
    const isPasswordChangeNotificationEnabled = val.is_password_change_notification_enabled == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_password_change_notification_enabled);
    const isStrongPasswordForExtCollabEnabled = val.is_strong_password_for_ext_collab_enabled == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_strong_password_for_ext_collab_enabled);
    const isManagedUserMigrationDisabled = val.is_managed_user_migration_disabled == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_managed_user_migration_disabled);
    const joinLink = val.join_link == void 0
        ? void 0
        : (0, enterpriseConfigurationItemStringV2025R0_2.deserializeEnterpriseConfigurationItemStringV2025R0)(val.join_link);
    const joinUrl = val.join_url == void 0
        ? void 0
        : (0, enterpriseConfigurationItemStringV2025R0_2.deserializeEnterpriseConfigurationItemStringV2025R0)(val.join_url);
    const failedLoginAttemptsToTriggerAdminNotification = val.failed_login_attempts_to_trigger_admin_notification == void 0
        ? void 0
        : (0, enterpriseConfigurationItemIntegerV2025R0_2.deserializeEnterpriseConfigurationItemIntegerV2025R0)(val.failed_login_attempts_to_trigger_admin_notification);
    const passwordMinLength = val.password_min_length == void 0
        ? void 0
        : (0, enterpriseConfigurationItemIntegerV2025R0_2.deserializeEnterpriseConfigurationItemIntegerV2025R0)(val.password_min_length);
    const passwordMinUppercaseCharacters = val.password_min_uppercase_characters == void 0
        ? void 0
        : (0, enterpriseConfigurationItemIntegerV2025R0_2.deserializeEnterpriseConfigurationItemIntegerV2025R0)(val.password_min_uppercase_characters);
    const passwordMinNumericCharacters = val.password_min_numeric_characters == void 0
        ? void 0
        : (0, enterpriseConfigurationItemIntegerV2025R0_2.deserializeEnterpriseConfigurationItemIntegerV2025R0)(val.password_min_numeric_characters);
    const passwordMinSpecialCharacters = val.password_min_special_characters == void 0
        ? void 0
        : (0, enterpriseConfigurationItemIntegerV2025R0_2.deserializeEnterpriseConfigurationItemIntegerV2025R0)(val.password_min_special_characters);
    const passwordResetFrequency = val.password_reset_frequency == void 0
        ? void 0
        : (0, enterpriseConfigurationItemStringV2025R0_2.deserializeEnterpriseConfigurationItemStringV2025R0)(val.password_reset_frequency);
    const previousPasswordReuseLimit = val.previous_password_reuse_limit == void 0
        ? void 0
        : (0, enterpriseConfigurationItemStringV2025R0_2.deserializeEnterpriseConfigurationItemStringV2025R0)(val.previous_password_reuse_limit);
    const sessionDuration = val.session_duration == void 0
        ? void 0
        : (0, enterpriseConfigurationItemStringV2025R0_2.deserializeEnterpriseConfigurationItemStringV2025R0)(val.session_duration);
    const externalCollabMultiFactorAuthSettings = val.external_collab_multi_factor_auth_settings == void 0
        ? void 0
        : deserializeEnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField(val.external_collab_multi_factor_auth_settings);
    const keysafe = val.keysafe == void 0
        ? void 0
        : deserializeEnterpriseConfigurationSecurityV2025R0KeysafeField(val.keysafe);
    const isCustomSessionDurationEnabled = val.is_custom_session_duration_enabled == void 0
        ? void 0
        : (0, enterpriseConfigurationItemBooleanV2025R0_2.deserializeEnterpriseConfigurationItemBooleanV2025R0)(val.is_custom_session_duration_enabled);
    const customSessionDurationValue = val.custom_session_duration_value == void 0
        ? void 0
        : (0, enterpriseConfigurationItemStringV2025R0_2.deserializeEnterpriseConfigurationItemStringV2025R0)(val.custom_session_duration_value);
    const customSessionDurationGroups = val.custom_session_duration_groups == void 0
        ? void 0
        : deserializeEnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField(val.custom_session_duration_groups);
    const multiFactorAuthType = val.multi_factor_auth_type == void 0
        ? void 0
        : (0, enterpriseConfigurationItemStringV2025R0_2.deserializeEnterpriseConfigurationItemStringV2025R0)(val.multi_factor_auth_type);
    const enforcedMfaFrequency = val.enforced_mfa_frequency == void 0
        ? void 0
        : deserializeEnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField(val.enforced_mfa_frequency);
    return {
        isManagedUserSignupEnabled: isManagedUserSignupEnabled,
        isManagedUserSignupNotificationEnabled: isManagedUserSignupNotificationEnabled,
        isManagedUserSignupCorporateEmailEnabled: isManagedUserSignupCorporateEmailEnabled,
        isNewUserNotificationDailyDigestEnabled: isNewUserNotificationDailyDigestEnabled,
        isManagedUserEmailChangeDisabled: isManagedUserEmailChangeDisabled,
        isMultiFactorAuthRequired: isMultiFactorAuthRequired,
        isWeakPasswordPreventionEnabled: isWeakPasswordPreventionEnabled,
        isPasswordLeakDetectionEnabled: isPasswordLeakDetectionEnabled,
        lastPasswordResetAt: lastPasswordResetAt,
        isPasswordRequestNotificationEnabled: isPasswordRequestNotificationEnabled,
        isPasswordChangeNotificationEnabled: isPasswordChangeNotificationEnabled,
        isStrongPasswordForExtCollabEnabled: isStrongPasswordForExtCollabEnabled,
        isManagedUserMigrationDisabled: isManagedUserMigrationDisabled,
        joinLink: joinLink,
        joinUrl: joinUrl,
        failedLoginAttemptsToTriggerAdminNotification: failedLoginAttemptsToTriggerAdminNotification,
        passwordMinLength: passwordMinLength,
        passwordMinUppercaseCharacters: passwordMinUppercaseCharacters,
        passwordMinNumericCharacters: passwordMinNumericCharacters,
        passwordMinSpecialCharacters: passwordMinSpecialCharacters,
        passwordResetFrequency: passwordResetFrequency,
        previousPasswordReuseLimit: previousPasswordReuseLimit,
        sessionDuration: sessionDuration,
        externalCollabMultiFactorAuthSettings: externalCollabMultiFactorAuthSettings,
        keysafe: keysafe,
        isCustomSessionDurationEnabled: isCustomSessionDurationEnabled,
        customSessionDurationValue: customSessionDurationValue,
        customSessionDurationGroups: customSessionDurationGroups,
        multiFactorAuthType: multiFactorAuthType,
        enforcedMfaFrequency: enforcedMfaFrequency,
    };
}
//# sourceMappingURL=enterpriseConfigurationSecurityV2025R0.js.map