"use strict";
/* tslint:disable */
/* eslint-disable */
/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.2.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.instanceOfSSFStream = instanceOfSSFStream;
exports.SSFStreamFromJSON = SSFStreamFromJSON;
exports.SSFStreamFromJSONTyped = SSFStreamFromJSONTyped;
exports.SSFStreamToJSON = SSFStreamToJSON;
exports.SSFStreamToJSONTyped = SSFStreamToJSONTyped;
const DeliveryMethodEnum_1 = require("./DeliveryMethodEnum");
const EventsRequestedEnum_1 = require("./EventsRequestedEnum");
const SSFProvider_1 = require("./SSFProvider");
/**
 * Check if a given object implements the SSFStream interface.
 */
function instanceOfSSFStream(value) {
    if (!('pk' in value) || value['pk'] === undefined)
        return false;
    if (!('provider' in value) || value['provider'] === undefined)
        return false;
    if (!('providerObj' in value) || value['providerObj'] === undefined)
        return false;
    if (!('deliveryMethod' in value) || value['deliveryMethod'] === undefined)
        return false;
    if (!('format' in value) || value['format'] === undefined)
        return false;
    if (!('iss' in value) || value['iss'] === undefined)
        return false;
    return true;
}
function SSFStreamFromJSON(json) {
    return SSFStreamFromJSONTyped(json, false);
}
function SSFStreamFromJSONTyped(json, ignoreDiscriminator) {
    if (json == null) {
        return json;
    }
    return {
        'pk': json['pk'],
        'provider': json['provider'],
        'providerObj': (0, SSFProvider_1.SSFProviderFromJSON)(json['provider_obj']),
        'deliveryMethod': (0, DeliveryMethodEnum_1.DeliveryMethodEnumFromJSON)(json['delivery_method']),
        'endpointUrl': json['endpoint_url'] == null ? undefined : json['endpoint_url'],
        'eventsRequested': json['events_requested'] == null ? undefined : (json['events_requested'].map(EventsRequestedEnum_1.EventsRequestedEnumFromJSON)),
        'format': json['format'],
        'aud': json['aud'] == null ? undefined : json['aud'],
        'iss': json['iss'],
    };
}
function SSFStreamToJSON(json) {
    return SSFStreamToJSONTyped(json, false);
}
function SSFStreamToJSONTyped(value, ignoreDiscriminator = false) {
    if (value == null) {
        return value;
    }
    return {
        'provider': value['provider'],
        'delivery_method': (0, DeliveryMethodEnum_1.DeliveryMethodEnumToJSON)(value['deliveryMethod']),
        'endpoint_url': value['endpointUrl'],
        'events_requested': value['eventsRequested'] == null ? undefined : (value['eventsRequested'].map(EventsRequestedEnum_1.EventsRequestedEnumToJSON)),
        'format': value['format'],
        'aud': value['aud'],
        'iss': value['iss'],
    };
}
//# sourceMappingURL=SSFStream.js.map