/* 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 AppEnum = {
    AuthentikCommands: "authentik.commands",
    AuthentikTenants: "authentik.tenants",
    AuthentikTasks: "authentik.tasks",
    AuthentikAdmin: "authentik.admin",
    AuthentikApi: "authentik.api",
    AuthentikCore: "authentik.core",
    AuthentikCrypto: "authentik.crypto",
    AuthentikEndpoints: "authentik.endpoints",
    AuthentikEndpointsConnectorsAgent: "authentik.endpoints.connectors.agent",
    AuthentikEnterprise: "authentik.enterprise",
    AuthentikEvents: "authentik.events",
    AuthentikAdminFiles: "authentik.admin.files",
    AuthentikFlows: "authentik.flows",
    AuthentikOutposts: "authentik.outposts",
    AuthentikPoliciesDummy: "authentik.policies.dummy",
    AuthentikPoliciesEventMatcher: "authentik.policies.event_matcher",
    AuthentikPoliciesExpiry: "authentik.policies.expiry",
    AuthentikPoliciesExpression: "authentik.policies.expression",
    AuthentikPoliciesGeoip: "authentik.policies.geoip",
    AuthentikPoliciesPassword: "authentik.policies.password",
    AuthentikPoliciesReputation: "authentik.policies.reputation",
    AuthentikPolicies: "authentik.policies",
    AuthentikProvidersLdap: "authentik.providers.ldap",
    AuthentikProvidersOauth2: "authentik.providers.oauth2",
    AuthentikProvidersProxy: "authentik.providers.proxy",
    AuthentikProvidersRac: "authentik.providers.rac",
    AuthentikProvidersRadius: "authentik.providers.radius",
    AuthentikProvidersSaml: "authentik.providers.saml",
    AuthentikProvidersScim: "authentik.providers.scim",
    AuthentikRbac: "authentik.rbac",
    AuthentikRecovery: "authentik.recovery",
    AuthentikSourcesKerberos: "authentik.sources.kerberos",
    AuthentikSourcesLdap: "authentik.sources.ldap",
    AuthentikSourcesOauth: "authentik.sources.oauth",
    AuthentikSourcesPlex: "authentik.sources.plex",
    AuthentikSourcesSaml: "authentik.sources.saml",
    AuthentikSourcesScim: "authentik.sources.scim",
    AuthentikSourcesTelegram: "authentik.sources.telegram",
    AuthentikStagesAuthenticator: "authentik.stages.authenticator",
    AuthentikStagesAuthenticatorDuo: "authentik.stages.authenticator_duo",
    AuthentikStagesAuthenticatorEmail: "authentik.stages.authenticator_email",
    AuthentikStagesAuthenticatorSms: "authentik.stages.authenticator_sms",
    AuthentikStagesAuthenticatorStatic: "authentik.stages.authenticator_static",
    AuthentikStagesAuthenticatorTotp: "authentik.stages.authenticator_totp",
    AuthentikStagesAuthenticatorValidate: "authentik.stages.authenticator_validate",
    AuthentikStagesAuthenticatorWebauthn: "authentik.stages.authenticator_webauthn",
    AuthentikStagesCaptcha: "authentik.stages.captcha",
    AuthentikStagesConsent: "authentik.stages.consent",
    AuthentikStagesDeny: "authentik.stages.deny",
    AuthentikStagesDummy: "authentik.stages.dummy",
    AuthentikStagesEmail: "authentik.stages.email",
    AuthentikStagesIdentification: "authentik.stages.identification",
    AuthentikStagesInvitation: "authentik.stages.invitation",
    AuthentikStagesPassword: "authentik.stages.password",
    AuthentikStagesPrompt: "authentik.stages.prompt",
    AuthentikStagesRedirect: "authentik.stages.redirect",
    AuthentikStagesUserDelete: "authentik.stages.user_delete",
    AuthentikStagesUserLogin: "authentik.stages.user_login",
    AuthentikStagesUserLogout: "authentik.stages.user_logout",
    AuthentikStagesUserWrite: "authentik.stages.user_write",
    AuthentikTasksSchedules: "authentik.tasks.schedules",
    AuthentikBrands: "authentik.brands",
    AuthentikBlueprints: "authentik.blueprints",
    AuthentikEnterpriseAudit: "authentik.enterprise.audit",
    AuthentikEnterpriseEndpointsConnectorsAgent: "authentik.enterprise.endpoints.connectors.agent",
    AuthentikEnterpriseEndpointsConnectorsFleet: "authentik.enterprise.endpoints.connectors.fleet",
    AuthentikEnterpriseEndpointsConnectorsGoogleChrome:
        "authentik.enterprise.endpoints.connectors.google_chrome",
    AuthentikEnterpriseLifecycle: "authentik.enterprise.lifecycle",
    AuthentikEnterprisePoliciesUniquePassword: "authentik.enterprise.policies.unique_password",
    AuthentikEnterpriseProvidersGoogleWorkspace: "authentik.enterprise.providers.google_workspace",
    AuthentikEnterpriseProvidersMicrosoftEntra: "authentik.enterprise.providers.microsoft_entra",
    AuthentikEnterpriseProvidersRadius: "authentik.enterprise.providers.radius",
    AuthentikEnterpriseProvidersScim: "authentik.enterprise.providers.scim",
    AuthentikEnterpriseProvidersSsf: "authentik.enterprise.providers.ssf",
    AuthentikEnterpriseProvidersWsFederation: "authentik.enterprise.providers.ws_federation",
    AuthentikEnterpriseReports: "authentik.enterprise.reports",
    AuthentikEnterpriseStagesAuthenticatorEndpointGdtc:
        "authentik.enterprise.stages.authenticator_endpoint_gdtc",
    AuthentikEnterpriseStagesMtls: "authentik.enterprise.stages.mtls",
    AuthentikEnterpriseStagesSource: "authentik.enterprise.stages.source",
    UnknownDefaultOpenApi: "11184809",
} as const;
export type AppEnum = (typeof AppEnum)[keyof typeof AppEnum];

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

export function AppEnumFromJSON(json: any): AppEnum {
    return AppEnumFromJSONTyped(json, false);
}

export function AppEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): AppEnum {
    return json as AppEnum;
}

export function AppEnumToJSON(value?: AppEnum | null): any {
    return value as any;
}

export function AppEnumToJSONTyped(value: any, ignoreDiscriminator: boolean): AppEnum {
    return value as AppEnum;
}
