/*
 * The version of the OpenAPI document: v69
 * Contact: developer-experience@adyen.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit this class manually.
 */


export class ThreeDSRequestData {
    /**
    * Dimensions of the 3DS2 challenge window to be displayed to the cardholder.  Possible values:  * **01** - size of 250x400  * **02** - size of 390x400 * **03** - size of 500x600 * **04** - size of 600x400 * **05** - Fullscreen
    */
    'challengeWindowSize'?: ThreeDSRequestData.ChallengeWindowSizeEnum;
    /**
    * Indicates if [native 3D Secure authentication](https://docs.adyen.com/online-payments/3d-secure/native-3ds2) should be used when available.  Possible values: * **preferred**: Use native 3D Secure authentication when available.
    */
    'nativeThreeDS'?: ThreeDSRequestData.NativeThreeDSEnum;
    /**
    * The version of 3D Secure to use.  Possible values:  * **2.1.0** * **2.2.0**
    */
    'threeDSVersion'?: ThreeDSRequestData.ThreeDSVersionEnum;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "challengeWindowSize",
            "baseName": "challengeWindowSize",
            "type": "ThreeDSRequestData.ChallengeWindowSizeEnum"
        },
        {
            "name": "nativeThreeDS",
            "baseName": "nativeThreeDS",
            "type": "ThreeDSRequestData.NativeThreeDSEnum"
        },
        {
            "name": "threeDSVersion",
            "baseName": "threeDSVersion",
            "type": "ThreeDSRequestData.ThreeDSVersionEnum"
        }    ];

    static getAttributeTypeMap() {
        return ThreeDSRequestData.attributeTypeMap;
    }
}

export namespace ThreeDSRequestData {
    export enum ChallengeWindowSizeEnum {
        _01 = <any> '01',
        _02 = <any> '02',
        _03 = <any> '03',
        _04 = <any> '04',
        _05 = <any> '05'
    }
    export enum NativeThreeDSEnum {
        Preferred = <any> 'preferred'
    }
    export enum ThreeDSVersionEnum {
        _10 = <any> '2.1.0',
        _20 = <any> '2.2.0'
    }
}
