/**
 * BoldSign API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { RequestFile } from './models';
import { IdentityVerificationSettings } from './identityVerificationSettings';
import { PhoneNumber } from './phoneNumber';

export class AccessCodeDetail {
    'authenticationType': AccessCodeDetail.AuthenticationTypeEnum;
    'emailId'?: string | null;
    'order'?: number | null;
    'accessCode'?: string | null;
    'onBehalfOf'?: string | null;
    'phoneNumber'?: PhoneNumber;
    'identityVerificationSettings'?: IdentityVerificationSettings;
    'authenticationRetryCount'?: number | null;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "authenticationType",
            "baseName": "authenticationType",
            "type": "AccessCodeDetail.AuthenticationTypeEnum"
        },
        {
            "name": "emailId",
            "baseName": "emailId",
            "type": "string"
        },
        {
            "name": "order",
            "baseName": "order",
            "type": "number"
        },
        {
            "name": "accessCode",
            "baseName": "accessCode",
            "type": "string"
        },
        {
            "name": "onBehalfOf",
            "baseName": "onBehalfOf",
            "type": "string"
        },
        {
            "name": "phoneNumber",
            "baseName": "phoneNumber",
            "type": "PhoneNumber"
        },
        {
            "name": "identityVerificationSettings",
            "baseName": "identityVerificationSettings",
            "type": "IdentityVerificationSettings"
        },
        {
            "name": "authenticationRetryCount",
            "baseName": "authenticationRetryCount",
            "type": "number"
        }    ];

    static getAttributeTypeMap() {
        return AccessCodeDetail.attributeTypeMap;
    }
}

export namespace AccessCodeDetail {
    export enum AuthenticationTypeEnum {
        None = <any> 'None',
        EmailOtp = <any> 'EmailOTP',
        AccessCode = <any> 'AccessCode',
        Smsotp = <any> 'SMSOTP',
        IdVerification = <any> 'IdVerification'
    }
}
