/*
 *                       ######
 *                       ######
 * ############    ####( ######  #####. ######  ############   ############
 * #############  #####( ######  #####. ######  #############  #############
 *        ######  #####( ######  #####. ######  #####  ######  #####  ######
 * ###### ######  #####( ######  #####. ######  #####  #####   #####  ######
 * ###### ######  #####( ######  #####. ######  #####          #####  ######
 * #############  #############  #############  #############  #####  ######
 *  ############   ############  #############   ############  #####  ######
 *                                      ######
 *                               #############
 *                               ############
 * Adyen NodeJS API Library
 * Copyright (c) 2021 Adyen B.V.
 * This file is open source and available under the MIT license.
 * See the LICENSE file for more info.
 */
 
/**
 * Terminal API
 * Definition of Terminal API Schema
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


import { DeviceType } from './deviceType';
import { InfoQualifyType } from './infoQualifyType';
import { InputCommandType } from './inputCommandType';

export class InputData {
    'BeepKeyFlag'?: boolean;
    'DefaultInputString'?: string;
    'Device': DeviceType;
    'DisableCancelFlag'?: boolean;
    'DisableCorrectFlag'?: boolean;
    'DisableValidFlag'?: boolean;
    'FromRightToLeftFlag'?: boolean;
    'GlobalCorrectionFlag'?: boolean;
    'ImmediateResponseFlag'?: boolean;
    'InfoQualify': InfoQualifyType;
    'InputCommand': InputCommandType;
    'MaskCharactersFlag'?: boolean;
    'MaxDecimalLength'?: number;
    'MaxInputTime'?: number;
    'MaxLength'?: number;
    'MenuBackFlag'?: boolean;
    'MinLength'?: number;
    'NotifyCardInputFlag'?: boolean;
    'StringMask'?: string;
    'WaitUserValidationFlag'?: boolean;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "BeepKeyFlag",
            "baseName": "BeepKeyFlag",
            "type": "boolean"
        },
        {
            "name": "DefaultInputString",
            "baseName": "DefaultInputString",
            "type": "string"
        },
        {
            "name": "Device",
            "baseName": "Device",
            "type": "DeviceType"
        },
        {
            "name": "DisableCancelFlag",
            "baseName": "DisableCancelFlag",
            "type": "boolean"
        },
        {
            "name": "DisableCorrectFlag",
            "baseName": "DisableCorrectFlag",
            "type": "boolean"
        },
        {
            "name": "DisableValidFlag",
            "baseName": "DisableValidFlag",
            "type": "boolean"
        },
        {
            "name": "FromRightToLeftFlag",
            "baseName": "FromRightToLeftFlag",
            "type": "boolean"
        },
        {
            "name": "GlobalCorrectionFlag",
            "baseName": "GlobalCorrectionFlag",
            "type": "boolean"
        },
        {
            "name": "ImmediateResponseFlag",
            "baseName": "ImmediateResponseFlag",
            "type": "boolean"
        },
        {
            "name": "InfoQualify",
            "baseName": "InfoQualify",
            "type": "InfoQualifyType"
        },
        {
            "name": "InputCommand",
            "baseName": "InputCommand",
            "type": "InputCommandType"
        },
        {
            "name": "MaskCharactersFlag",
            "baseName": "MaskCharactersFlag",
            "type": "boolean"
        },
        {
            "name": "MaxDecimalLength",
            "baseName": "MaxDecimalLength",
            "type": "number"
        },
        {
            "name": "MaxInputTime",
            "baseName": "MaxInputTime",
            "type": "number"
        },
        {
            "name": "MaxLength",
            "baseName": "MaxLength",
            "type": "number"
        },
        {
            "name": "MenuBackFlag",
            "baseName": "MenuBackFlag",
            "type": "boolean"
        },
        {
            "name": "MinLength",
            "baseName": "MinLength",
            "type": "number"
        },
        {
            "name": "NotifyCardInputFlag",
            "baseName": "NotifyCardInputFlag",
            "type": "boolean"
        },
        {
            "name": "StringMask",
            "baseName": "StringMask",
            "type": "string"
        },
        {
            "name": "WaitUserValidationFlag",
            "baseName": "WaitUserValidationFlag",
            "type": "boolean"
        }    ];

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

