/* 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 DeviceClassesEnum = {
    Static: "static",
    Totp: "totp",
    Webauthn: "webauthn",
    Duo: "duo",
    Sms: "sms",
    Email: "email",
    UnknownDefaultOpenApi: "11184809",
} as const;
export type DeviceClassesEnum = (typeof DeviceClassesEnum)[keyof typeof DeviceClassesEnum];

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

export function DeviceClassesEnumFromJSON(json: any): DeviceClassesEnum {
    return DeviceClassesEnumFromJSONTyped(json, false);
}

export function DeviceClassesEnumFromJSONTyped(
    json: any,
    ignoreDiscriminator: boolean,
): DeviceClassesEnum {
    return json as DeviceClassesEnum;
}

export function DeviceClassesEnumToJSON(value?: DeviceClassesEnum | null): any {
    return value as any;
}

export function DeviceClassesEnumToJSONTyped(
    value: any,
    ignoreDiscriminator: boolean,
): DeviceClassesEnum {
    return value as DeviceClassesEnum;
}
