"use strict";
/* tslint:disable */
/* eslint-disable */
/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.2.2-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.instanceOfFlowSet = instanceOfFlowSet;
exports.FlowSetFromJSON = FlowSetFromJSON;
exports.FlowSetFromJSONTyped = FlowSetFromJSONTyped;
exports.FlowSetToJSON = FlowSetToJSON;
exports.FlowSetToJSONTyped = FlowSetToJSONTyped;
const DeniedActionEnum_1 = require("./DeniedActionEnum");
const FlowLayoutEnum_1 = require("./FlowLayoutEnum");
const PolicyEngineMode_1 = require("./PolicyEngineMode");
const FlowDesignationEnum_1 = require("./FlowDesignationEnum");
/**
 * Check if a given object implements the FlowSet interface.
 */
function instanceOfFlowSet(value) {
    if (!('pk' in value) || value['pk'] === undefined)
        return false;
    if (!('policybindingmodelPtrId' in value) || value['policybindingmodelPtrId'] === undefined)
        return false;
    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;
    if (!('backgroundUrl' in value) || value['backgroundUrl'] === undefined)
        return false;
    if (!('exportUrl' in value) || value['exportUrl'] === undefined)
        return false;
    return true;
}
function FlowSetFromJSON(json) {
    return FlowSetFromJSONTyped(json, false);
}
function FlowSetFromJSONTyped(json, ignoreDiscriminator) {
    if (json == null) {
        return json;
    }
    return {
        'pk': json['pk'],
        'policybindingmodelPtrId': json['policybindingmodel_ptr_id'],
        'name': json['name'],
        'slug': json['slug'],
        'title': json['title'],
        'designation': (0, FlowDesignationEnum_1.FlowDesignationEnumFromJSON)(json['designation']),
        'backgroundUrl': json['background_url'],
        'policyEngineMode': json['policy_engine_mode'] == null ? undefined : (0, PolicyEngineMode_1.PolicyEngineModeFromJSON)(json['policy_engine_mode']),
        'compatibilityMode': json['compatibility_mode'] == null ? undefined : json['compatibility_mode'],
        'exportUrl': json['export_url'],
        'layout': json['layout'] == null ? undefined : (0, FlowLayoutEnum_1.FlowLayoutEnumFromJSON)(json['layout']),
        'deniedAction': json['denied_action'] == null ? undefined : (0, DeniedActionEnum_1.DeniedActionEnumFromJSON)(json['denied_action']),
    };
}
function FlowSetToJSON(json) {
    return FlowSetToJSONTyped(json, false);
}
function FlowSetToJSONTyped(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']),
        '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']),
    };
}
//# sourceMappingURL=FlowSet.js.map