"use strict";
/* tslint:disable */
/* eslint-disable */
/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2025.12.0-rc1
 * Contact: hello@goauthentik.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.instanceOfAgentConfig = instanceOfAgentConfig;
exports.AgentConfigFromJSON = AgentConfigFromJSON;
exports.AgentConfigFromJSONTyped = AgentConfigFromJSONTyped;
exports.AgentConfigToJSON = AgentConfigToJSON;
exports.AgentConfigToJSONTyped = AgentConfigToJSONTyped;
const Config_1 = require("./Config");
/**
 * Check if a given object implements the AgentConfig interface.
 */
function instanceOfAgentConfig(value) {
    if (!('deviceId' in value) || value['deviceId'] === undefined)
        return false;
    if (!('refreshInterval' in value) || value['refreshInterval'] === undefined)
        return false;
    if (!('authorizationFlow' in value) || value['authorizationFlow'] === undefined)
        return false;
    if (!('jwks' in value) || value['jwks'] === undefined)
        return false;
    if (!('nssUidOffset' in value) || value['nssUidOffset'] === undefined)
        return false;
    if (!('nssGidOffset' in value) || value['nssGidOffset'] === undefined)
        return false;
    if (!('authTerminateSessionOnExpiry' in value) || value['authTerminateSessionOnExpiry'] === undefined)
        return false;
    if (!('systemConfig' in value) || value['systemConfig'] === undefined)
        return false;
    return true;
}
function AgentConfigFromJSON(json) {
    return AgentConfigFromJSONTyped(json, false);
}
function AgentConfigFromJSONTyped(json, ignoreDiscriminator) {
    if (json == null) {
        return json;
    }
    return {
        'deviceId': json['device_id'],
        'refreshInterval': json['refresh_interval'],
        'authorizationFlow': json['authorization_flow'],
        'jwks': json['jwks'],
        'nssUidOffset': json['nss_uid_offset'],
        'nssGidOffset': json['nss_gid_offset'],
        'authTerminateSessionOnExpiry': json['auth_terminate_session_on_expiry'],
        'systemConfig': (0, Config_1.ConfigFromJSON)(json['system_config']),
    };
}
function AgentConfigToJSON(json) {
    return AgentConfigToJSONTyped(json, false);
}
function AgentConfigToJSONTyped(value, ignoreDiscriminator = false) {
    if (value == null) {
        return value;
    }
    return {
        'nss_uid_offset': value['nssUidOffset'],
        'nss_gid_offset': value['nssGidOffset'],
        'auth_terminate_session_on_expiry': value['authTerminateSessionOnExpiry'],
    };
}
//# sourceMappingURL=AgentConfig.js.map