/**
 * 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.
 */
import type { AccessDeniedChallenge } from './AccessDeniedChallenge';
import type { AppleLoginChallenge } from './AppleLoginChallenge';
import type { AuthenticatorDuoChallenge } from './AuthenticatorDuoChallenge';
import type { AuthenticatorEmailChallenge } from './AuthenticatorEmailChallenge';
import type { AuthenticatorSMSChallenge } from './AuthenticatorSMSChallenge';
import type { AuthenticatorStaticChallenge } from './AuthenticatorStaticChallenge';
import type { AuthenticatorTOTPChallenge } from './AuthenticatorTOTPChallenge';
import type { AuthenticatorValidationChallenge } from './AuthenticatorValidationChallenge';
import type { AuthenticatorWebAuthnChallenge } from './AuthenticatorWebAuthnChallenge';
import type { AutosubmitChallenge } from './AutosubmitChallenge';
import type { CaptchaChallenge } from './CaptchaChallenge';
import type { ConsentChallenge } from './ConsentChallenge';
import type { DummyChallenge } from './DummyChallenge';
import type { EmailChallenge } from './EmailChallenge';
import type { EndpointAgentChallenge } from './EndpointAgentChallenge';
import type { FlowErrorChallenge } from './FlowErrorChallenge';
import type { FrameChallenge } from './FrameChallenge';
import type { IdentificationChallenge } from './IdentificationChallenge';
import type { IframeLogoutChallenge } from './IframeLogoutChallenge';
import type { NativeLogoutChallenge } from './NativeLogoutChallenge';
import type { OAuthDeviceCodeChallenge } from './OAuthDeviceCodeChallenge';
import type { OAuthDeviceCodeFinishChallenge } from './OAuthDeviceCodeFinishChallenge';
import type { PasswordChallenge } from './PasswordChallenge';
import type { PlexAuthenticationChallenge } from './PlexAuthenticationChallenge';
import type { PromptChallenge } from './PromptChallenge';
import type { RedirectChallenge } from './RedirectChallenge';
import type { SessionEndChallenge } from './SessionEndChallenge';
import type { ShellChallenge } from './ShellChallenge';
import type { TelegramLoginChallenge } from './TelegramLoginChallenge';
import type { UserLoginChallenge } from './UserLoginChallenge';
/**
 * @type ChallengeTypes
 *
 * @export
 */
export type ChallengeTypes = {
    component: 'ak-provider-iframe-logout';
} & IframeLogoutChallenge | {
    component: 'ak-provider-oauth2-device-code';
} & OAuthDeviceCodeChallenge | {
    component: 'ak-provider-oauth2-device-code-finish';
} & OAuthDeviceCodeFinishChallenge | {
    component: 'ak-provider-saml-native-logout';
} & NativeLogoutChallenge | {
    component: 'ak-source-oauth-apple';
} & AppleLoginChallenge | {
    component: 'ak-source-plex';
} & PlexAuthenticationChallenge | {
    component: 'ak-source-telegram';
} & TelegramLoginChallenge | {
    component: 'ak-stage-access-denied';
} & AccessDeniedChallenge | {
    component: 'ak-stage-authenticator-duo';
} & AuthenticatorDuoChallenge | {
    component: 'ak-stage-authenticator-email';
} & AuthenticatorEmailChallenge | {
    component: 'ak-stage-authenticator-sms';
} & AuthenticatorSMSChallenge | {
    component: 'ak-stage-authenticator-static';
} & AuthenticatorStaticChallenge | {
    component: 'ak-stage-authenticator-totp';
} & AuthenticatorTOTPChallenge | {
    component: 'ak-stage-authenticator-validate';
} & AuthenticatorValidationChallenge | {
    component: 'ak-stage-authenticator-webauthn';
} & AuthenticatorWebAuthnChallenge | {
    component: 'ak-stage-autosubmit';
} & AutosubmitChallenge | {
    component: 'ak-stage-captcha';
} & CaptchaChallenge | {
    component: 'ak-stage-consent';
} & ConsentChallenge | {
    component: 'ak-stage-dummy';
} & DummyChallenge | {
    component: 'ak-stage-email';
} & EmailChallenge | {
    component: 'ak-stage-endpoint-agent';
} & EndpointAgentChallenge | {
    component: 'ak-stage-flow-error';
} & FlowErrorChallenge | {
    component: 'ak-stage-identification';
} & IdentificationChallenge | {
    component: 'ak-stage-password';
} & PasswordChallenge | {
    component: 'ak-stage-prompt';
} & PromptChallenge | {
    component: 'ak-stage-session-end';
} & SessionEndChallenge | {
    component: 'ak-stage-user-login';
} & UserLoginChallenge | {
    component: 'xak-flow-frame';
} & FrameChallenge | {
    component: 'xak-flow-redirect';
} & RedirectChallenge | {
    component: 'xak-flow-shell';
} & ShellChallenge;
export declare function ChallengeTypesFromJSON(json: any): ChallengeTypes;
export declare function ChallengeTypesFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChallengeTypes;
export declare function ChallengeTypesToJSON(json: any): any;
export declare function ChallengeTypesToJSONTyped(value?: ChallengeTypes | null, ignoreDiscriminator?: boolean): any;
//# sourceMappingURL=ChallengeTypes.d.ts.map