/*
 * The version of the OpenAPI document: v68
 * 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.
 */

import { PermitRestriction } from './permitRestriction';

export class Permit {
    /**
    * Partner ID (when using the permit-per-partner token sharing model).
    */
    'partnerId'?: string;
    /**
    * The profile to apply to this permit (when using the shared permits model).
    */
    'profileReference'?: string;
    'restriction'?: PermitRestriction;
    /**
    * The key to link permit requests to permit results.
    */
    'resultKey'?: string;
    /**
    * The expiry date for this permit.
    */
    'validTillDate'?: Date;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "partnerId",
            "baseName": "partnerId",
            "type": "string"
        },
        {
            "name": "profileReference",
            "baseName": "profileReference",
            "type": "string"
        },
        {
            "name": "restriction",
            "baseName": "restriction",
            "type": "PermitRestriction"
        },
        {
            "name": "resultKey",
            "baseName": "resultKey",
            "type": "string"
        },
        {
            "name": "validTillDate",
            "baseName": "validTillDate",
            "type": "Date"
        }    ];

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

