/* tslint:disable */
/* eslint-disable */
/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.5.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.
 */

/**
 *
 * @export
 */
export const ModelEnum = {
    AuthentikTenantsDomain: "authentik_tenants.domain",
    AuthentikCoreGroup: "authentik_core.group",
    AuthentikCoreUser: "authentik_core.user",
    AuthentikCoreApplication: "authentik_core.application",
    AuthentikCoreApplicationentitlement: "authentik_core.applicationentitlement",
    AuthentikCoreToken: "authentik_core.token",
    AuthentikCryptoCertificatekeypair: "authentik_crypto.certificatekeypair",
    AuthentikEndpointsDeviceuserbinding: "authentik_endpoints.deviceuserbinding",
    AuthentikEndpointsDeviceaccessgroup: "authentik_endpoints.deviceaccessgroup",
    AuthentikEndpointsEndpointstage: "authentik_endpoints.endpointstage",
    AuthentikEndpointsConnectorsAgentAgentconnector:
        "authentik_endpoints_connectors_agent.agentconnector",
    AuthentikEndpointsConnectorsAgentAgentdeviceuserbinding:
        "authentik_endpoints_connectors_agent.agentdeviceuserbinding",
    AuthentikEndpointsConnectorsAgentEnrollmenttoken:
        "authentik_endpoints_connectors_agent.enrollmenttoken",
    AuthentikEnterpriseLicense: "authentik_enterprise.license",
    AuthentikEventsEvent: "authentik_events.event",
    AuthentikEventsNotificationtransport: "authentik_events.notificationtransport",
    AuthentikEventsNotification: "authentik_events.notification",
    AuthentikEventsNotificationrule: "authentik_events.notificationrule",
    AuthentikEventsNotificationwebhookmapping: "authentik_events.notificationwebhookmapping",
    AuthentikFlowsFlow: "authentik_flows.flow",
    AuthentikFlowsFlowstagebinding: "authentik_flows.flowstagebinding",
    AuthentikOutpostsDockerserviceconnection: "authentik_outposts.dockerserviceconnection",
    AuthentikOutpostsKubernetesserviceconnection: "authentik_outposts.kubernetesserviceconnection",
    AuthentikOutpostsOutpost: "authentik_outposts.outpost",
    AuthentikPoliciesDummyDummypolicy: "authentik_policies_dummy.dummypolicy",
    AuthentikPoliciesEventMatcherEventmatcherpolicy:
        "authentik_policies_event_matcher.eventmatcherpolicy",
    AuthentikPoliciesExpiryPasswordexpirypolicy: "authentik_policies_expiry.passwordexpirypolicy",
    AuthentikPoliciesExpressionExpressionpolicy: "authentik_policies_expression.expressionpolicy",
    AuthentikPoliciesGeoipGeoippolicy: "authentik_policies_geoip.geoippolicy",
    AuthentikPoliciesPasswordPasswordpolicy: "authentik_policies_password.passwordpolicy",
    AuthentikPoliciesReputationReputationpolicy: "authentik_policies_reputation.reputationpolicy",
    AuthentikPoliciesPolicybinding: "authentik_policies.policybinding",
    AuthentikProvidersLdapLdapprovider: "authentik_providers_ldap.ldapprovider",
    AuthentikProvidersOauth2Scopemapping: "authentik_providers_oauth2.scopemapping",
    AuthentikProvidersOauth2Oauth2provider: "authentik_providers_oauth2.oauth2provider",
    AuthentikProvidersProxyProxyprovider: "authentik_providers_proxy.proxyprovider",
    AuthentikProvidersRacRacprovider: "authentik_providers_rac.racprovider",
    AuthentikProvidersRacEndpoint: "authentik_providers_rac.endpoint",
    AuthentikProvidersRacRacpropertymapping: "authentik_providers_rac.racpropertymapping",
    AuthentikProvidersRadiusRadiusprovider: "authentik_providers_radius.radiusprovider",
    AuthentikProvidersRadiusRadiusproviderpropertymapping:
        "authentik_providers_radius.radiusproviderpropertymapping",
    AuthentikProvidersSamlSamlprovider: "authentik_providers_saml.samlprovider",
    AuthentikProvidersSamlSamlpropertymapping: "authentik_providers_saml.samlpropertymapping",
    AuthentikProvidersScimScimprovider: "authentik_providers_scim.scimprovider",
    AuthentikProvidersScimScimmapping: "authentik_providers_scim.scimmapping",
    AuthentikRbacRole: "authentik_rbac.role",
    AuthentikRbacInitialpermissions: "authentik_rbac.initialpermissions",
    AuthentikSourcesKerberosKerberossource: "authentik_sources_kerberos.kerberossource",
    AuthentikSourcesKerberosKerberossourcepropertymapping:
        "authentik_sources_kerberos.kerberossourcepropertymapping",
    AuthentikSourcesKerberosUserkerberossourceconnection:
        "authentik_sources_kerberos.userkerberossourceconnection",
    AuthentikSourcesKerberosGroupkerberossourceconnection:
        "authentik_sources_kerberos.groupkerberossourceconnection",
    AuthentikSourcesLdapLdapsource: "authentik_sources_ldap.ldapsource",
    AuthentikSourcesLdapLdapsourcepropertymapping:
        "authentik_sources_ldap.ldapsourcepropertymapping",
    AuthentikSourcesLdapUserldapsourceconnection: "authentik_sources_ldap.userldapsourceconnection",
    AuthentikSourcesLdapGroupldapsourceconnection:
        "authentik_sources_ldap.groupldapsourceconnection",
    AuthentikSourcesOauthOauthsource: "authentik_sources_oauth.oauthsource",
    AuthentikSourcesOauthOauthsourcepropertymapping:
        "authentik_sources_oauth.oauthsourcepropertymapping",
    AuthentikSourcesOauthUseroauthsourceconnection:
        "authentik_sources_oauth.useroauthsourceconnection",
    AuthentikSourcesOauthGroupoauthsourceconnection:
        "authentik_sources_oauth.groupoauthsourceconnection",
    AuthentikSourcesPlexPlexsource: "authentik_sources_plex.plexsource",
    AuthentikSourcesPlexPlexsourcepropertymapping:
        "authentik_sources_plex.plexsourcepropertymapping",
    AuthentikSourcesPlexUserplexsourceconnection: "authentik_sources_plex.userplexsourceconnection",
    AuthentikSourcesPlexGroupplexsourceconnection:
        "authentik_sources_plex.groupplexsourceconnection",
    AuthentikSourcesSamlSamlsource: "authentik_sources_saml.samlsource",
    AuthentikSourcesSamlSamlsourcepropertymapping:
        "authentik_sources_saml.samlsourcepropertymapping",
    AuthentikSourcesSamlUsersamlsourceconnection: "authentik_sources_saml.usersamlsourceconnection",
    AuthentikSourcesSamlGroupsamlsourceconnection:
        "authentik_sources_saml.groupsamlsourceconnection",
    AuthentikSourcesScimScimsource: "authentik_sources_scim.scimsource",
    AuthentikSourcesScimScimsourcepropertymapping:
        "authentik_sources_scim.scimsourcepropertymapping",
    AuthentikSourcesTelegramTelegramsource: "authentik_sources_telegram.telegramsource",
    AuthentikSourcesTelegramTelegramsourcepropertymapping:
        "authentik_sources_telegram.telegramsourcepropertymapping",
    AuthentikSourcesTelegramUsertelegramsourceconnection:
        "authentik_sources_telegram.usertelegramsourceconnection",
    AuthentikSourcesTelegramGrouptelegramsourceconnection:
        "authentik_sources_telegram.grouptelegramsourceconnection",
    AuthentikStagesAuthenticatorDuoAuthenticatorduostage:
        "authentik_stages_authenticator_duo.authenticatorduostage",
    AuthentikStagesAuthenticatorDuoDuodevice: "authentik_stages_authenticator_duo.duodevice",
    AuthentikStagesAuthenticatorEmailAuthenticatoremailstage:
        "authentik_stages_authenticator_email.authenticatoremailstage",
    AuthentikStagesAuthenticatorEmailEmaildevice:
        "authentik_stages_authenticator_email.emaildevice",
    AuthentikStagesAuthenticatorSmsAuthenticatorsmsstage:
        "authentik_stages_authenticator_sms.authenticatorsmsstage",
    AuthentikStagesAuthenticatorSmsSmsdevice: "authentik_stages_authenticator_sms.smsdevice",
    AuthentikStagesAuthenticatorStaticAuthenticatorstaticstage:
        "authentik_stages_authenticator_static.authenticatorstaticstage",
    AuthentikStagesAuthenticatorStaticStaticdevice:
        "authentik_stages_authenticator_static.staticdevice",
    AuthentikStagesAuthenticatorTotpAuthenticatortotpstage:
        "authentik_stages_authenticator_totp.authenticatortotpstage",
    AuthentikStagesAuthenticatorTotpTotpdevice: "authentik_stages_authenticator_totp.totpdevice",
    AuthentikStagesAuthenticatorValidateAuthenticatorvalidatestage:
        "authentik_stages_authenticator_validate.authenticatorvalidatestage",
    AuthentikStagesAuthenticatorWebauthnAuthenticatorwebauthnstage:
        "authentik_stages_authenticator_webauthn.authenticatorwebauthnstage",
    AuthentikStagesAuthenticatorWebauthnWebauthndevice:
        "authentik_stages_authenticator_webauthn.webauthndevice",
    AuthentikStagesCaptchaCaptchastage: "authentik_stages_captcha.captchastage",
    AuthentikStagesConsentConsentstage: "authentik_stages_consent.consentstage",
    AuthentikStagesDenyDenystage: "authentik_stages_deny.denystage",
    AuthentikStagesDummyDummystage: "authentik_stages_dummy.dummystage",
    AuthentikStagesEmailEmailstage: "authentik_stages_email.emailstage",
    AuthentikStagesIdentificationIdentificationstage:
        "authentik_stages_identification.identificationstage",
    AuthentikStagesInvitationInvitationstage: "authentik_stages_invitation.invitationstage",
    AuthentikStagesInvitationInvitation: "authentik_stages_invitation.invitation",
    AuthentikStagesPasswordPasswordstage: "authentik_stages_password.passwordstage",
    AuthentikStagesPromptPrompt: "authentik_stages_prompt.prompt",
    AuthentikStagesPromptPromptstage: "authentik_stages_prompt.promptstage",
    AuthentikStagesRedirectRedirectstage: "authentik_stages_redirect.redirectstage",
    AuthentikStagesUserDeleteUserdeletestage: "authentik_stages_user_delete.userdeletestage",
    AuthentikStagesUserLoginUserloginstage: "authentik_stages_user_login.userloginstage",
    AuthentikStagesUserLogoutUserlogoutstage: "authentik_stages_user_logout.userlogoutstage",
    AuthentikStagesUserWriteUserwritestage: "authentik_stages_user_write.userwritestage",
    AuthentikTasksSchedulesSchedule: "authentik_tasks_schedules.schedule",
    AuthentikBrandsBrand: "authentik_brands.brand",
    AuthentikBlueprintsBlueprintinstance: "authentik_blueprints.blueprintinstance",
    AuthentikEndpointsConnectorsFleetFleetconnector:
        "authentik_endpoints_connectors_fleet.fleetconnector",
    AuthentikEndpointsConnectorsGoogleChromeGooglechromeconnector:
        "authentik_endpoints_connectors_google_chrome.googlechromeconnector",
    AuthentikLifecycleLifecyclerule: "authentik_lifecycle.lifecyclerule",
    AuthentikLifecycleLifecycleiteration: "authentik_lifecycle.lifecycleiteration",
    AuthentikLifecycleReview: "authentik_lifecycle.review",
    AuthentikPoliciesUniquePasswordUniquepasswordpolicy:
        "authentik_policies_unique_password.uniquepasswordpolicy",
    AuthentikProvidersGoogleWorkspaceGoogleworkspaceprovider:
        "authentik_providers_google_workspace.googleworkspaceprovider",
    AuthentikProvidersGoogleWorkspaceGoogleworkspaceprovidermapping:
        "authentik_providers_google_workspace.googleworkspaceprovidermapping",
    AuthentikProvidersMicrosoftEntraMicrosoftentraprovider:
        "authentik_providers_microsoft_entra.microsoftentraprovider",
    AuthentikProvidersMicrosoftEntraMicrosoftentraprovidermapping:
        "authentik_providers_microsoft_entra.microsoftentraprovidermapping",
    AuthentikProvidersSsfSsfprovider: "authentik_providers_ssf.ssfprovider",
    AuthentikProvidersWsFederationWsfederationprovider:
        "authentik_providers_ws_federation.wsfederationprovider",
    AuthentikReportsDataexport: "authentik_reports.dataexport",
    AuthentikStagesAuthenticatorEndpointGdtcAuthenticatorendpointgdtcstage:
        "authentik_stages_authenticator_endpoint_gdtc.authenticatorendpointgdtcstage",
    AuthentikStagesMtlsMutualtlsstage: "authentik_stages_mtls.mutualtlsstage",
    AuthentikStagesSourceSourcestage: "authentik_stages_source.sourcestage",
    UnknownDefaultOpenApi: "11184809",
} as const;
export type ModelEnum = (typeof ModelEnum)[keyof typeof ModelEnum];

export function instanceOfModelEnum(value: any): boolean {
    for (const key in ModelEnum) {
        if (Object.prototype.hasOwnProperty.call(ModelEnum, key)) {
            if (ModelEnum[key as keyof typeof ModelEnum] === value) {
                return true;
            }
        }
    }
    return false;
}

export function ModelEnumFromJSON(json: any): ModelEnum {
    return ModelEnumFromJSONTyped(json, false);
}

export function ModelEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelEnum {
    return json as ModelEnum;
}

export function ModelEnumToJSON(value?: ModelEnum | null): any {
    return value as any;
}

export function ModelEnumToJSONTyped(value: any, ignoreDiscriminator: boolean): ModelEnum {
    return value as ModelEnum;
}
