/* tslint:disable */
/* eslint-disable */
/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2025.12.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',
    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',
    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',
    AuthentikEnterpriseSearch: 'authentik.enterprise.search',
    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;
}

