"use strict";
/* tslint:disable */
/* eslint-disable */
/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.2.0-rc5
 * 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.instanceOfFlowRequest = instanceOfFlowRequest;
exports.FlowRequestFromJSON = FlowRequestFromJSON;
exports.FlowRequestFromJSONTyped = FlowRequestFromJSONTyped;
exports.FlowRequestToJSON = FlowRequestToJSON;
exports.FlowRequestToJSONTyped = FlowRequestToJSONTyped;
const DeniedActionEnum_1 = require("./DeniedActionEnum");
const FlowLayoutEnum_1 = require("./FlowLayoutEnum");
const PolicyEngineMode_1 = require("./PolicyEngineMode");
const FlowDesignationEnum_1 = require("./FlowDesignationEnum");
const AuthenticationEnum_1 = require("./AuthenticationEnum");
/**
 * Check if a given object implements the FlowRequest interface.
 */
function instanceOfFlowRequest(value) {
    if (!('name' in value) || value['name'] === undefined)
        return false;
    if (!('slug' in value) || value['slug'] === undefined)
        return false;
    if (!('title' in value) || value['title'] === undefined)
        return false;
    if (!('designation' in value) || value['designation'] === undefined)
        return false;
    return true;
}
function FlowRequestFromJSON(json) {
    return FlowRequestFromJSONTyped(json, false);
}
function FlowRequestFromJSONTyped(json, ignoreDiscriminator) {
    if (json == null) {
        return json;
    }
    return {
        'name': json['name'],
        'slug': json['slug'],
        'title': json['title'],
        'designation': (0, FlowDesignationEnum_1.FlowDesignationEnumFromJSON)(json['designation']),
        'background': json['background'] == null ? undefined : json['background'],
        'policyEngineMode': json['policy_engine_mode'] == null ? undefined : (0, PolicyEngineMode_1.PolicyEngineModeFromJSON)(json['policy_engine_mode']),
        'compatibilityMode': json['compatibility_mode'] == null ? undefined : json['compatibility_mode'],
        'layout': json['layout'] == null ? undefined : (0, FlowLayoutEnum_1.FlowLayoutEnumFromJSON)(json['layout']),
        'deniedAction': json['denied_action'] == null ? undefined : (0, DeniedActionEnum_1.DeniedActionEnumFromJSON)(json['denied_action']),
        'authentication': json['authentication'] == null ? undefined : (0, AuthenticationEnum_1.AuthenticationEnumFromJSON)(json['authentication']),
    };
}
function FlowRequestToJSON(json) {
    return FlowRequestToJSONTyped(json, false);
}
function FlowRequestToJSONTyped(value, ignoreDiscriminator = false) {
    if (value == null) {
        return value;
    }
    return {
        'name': value['name'],
        'slug': value['slug'],
        'title': value['title'],
        'designation': (0, FlowDesignationEnum_1.FlowDesignationEnumToJSON)(value['designation']),
        'background': value['background'],
        'policy_engine_mode': (0, PolicyEngineMode_1.PolicyEngineModeToJSON)(value['policyEngineMode']),
        'compatibility_mode': value['compatibilityMode'],
        'layout': (0, FlowLayoutEnum_1.FlowLayoutEnumToJSON)(value['layout']),
        'denied_action': (0, DeniedActionEnum_1.DeniedActionEnumToJSON)(value['deniedAction']),
        'authentication': (0, AuthenticationEnum_1.AuthenticationEnumToJSON)(value['authentication']),
    };
}
//# sourceMappingURL=FlowRequest.js.map