/**
 * Brevo API
 * Brevo provide a RESTFul API that can be used with any languages. With this API, you will be able to :   - Manage your campaigns and get the statistics   - Manage your contacts   - Send transactional Emails and SMS   - and much more...  You can download our wrappers at https://github.com/orgs/brevo  **Possible responses**   | Code | Message |   | :-------------: | ------------- |   | 200  | OK. Successful Request  |   | 201  | OK. Successful Creation |   | 202  | OK. Request accepted |   | 204  | OK. Successful Update/Deletion  |   | 400  | Error. Bad Request  |   | 401  | Error. Authentication Needed  |   | 402  | Error. Not enough credit, plan upgrade needed  |   | 403  | Error. Permission denied  |   | 404  | Error. Object does not exist |   | 405  | Error. Method not allowed  |   | 406  | Error. Not Acceptable  |   | 422  | Error. Unprocessable Entity | 
 *
 * The version of the OpenAPI document: 3.0.0
 * Contact: contact@brevo.com
 *
 * 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';

/**
* Privileges given to the user
*/
export class InviteuserPrivilegesInner {
    /**
    * Feature name
    */
    'feature'?: InviteuserPrivilegesInner.FeatureEnum;
    /**
    * Permissions for a given feature
    */
    'permissions'?: Array<InviteuserPrivilegesInner.PermissionsEnum>;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "feature",
            "baseName": "feature",
            "type": "InviteuserPrivilegesInner.FeatureEnum"
        },
        {
            "name": "permissions",
            "baseName": "permissions",
            "type": "Array<InviteuserPrivilegesInner.PermissionsEnum>"
        }    ];

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

export namespace InviteuserPrivilegesInner {
    export enum FeatureEnum {
        EmailCampaigns = <any> 'email_campaigns',
        SmsCampaigns = <any> 'sms_campaigns',
        Contacts = <any> 'contacts',
        Templates = <any> 'templates',
        Workflows = <any> 'workflows',
        FacebookAds = <any> 'facebook_ads',
        LandingPages = <any> 'landing_pages',
        TransactionalEmails = <any> 'transactional_emails',
        SmtpApi = <any> 'smtp_api',
        UserManagement = <any> 'user_management',
        SalesPlatform = <any> 'sales_platform',
        Phone = <any> 'phone',
        Conversations = <any> 'conversations',
        SendersDomainsDedicatedIps = <any> 'senders_domains_dedicated_ips',
        PushNotifications = <any> 'push_notifications'
    }
    export enum PermissionsEnum {
        CreateEditDelete = <any> 'create_edit_delete',
        SendScheduleSuspend = <any> 'send_schedule_suspend',
        View = <any> 'view',
        Import = <any> 'import',
        Export = <any> 'export',
        ListAndAttributes = <any> 'list_and_attributes',
        Forms = <any> 'forms',
        ActivateDeactivate = <any> 'activate_deactivate',
        ActivateDeactivatePause = <any> 'activate_deactivate_pause',
        Settings = <any> 'settings',
        SchedulePause = <any> 'schedule_pause',
        All = <any> 'all',
        Logs = <any> 'logs',
        Access = <any> 'access',
        Assign = <any> 'assign',
        Configure = <any> 'configure',
        ManageOwnedDealsTasksCompanies = <any> 'manage_owned_deals_tasks_companies',
        ManageOthersDealsTasksCompanies = <any> 'manage_others_deals_tasks_companies',
        Reports = <any> 'reports',
        SendersManagement = <any> 'senders_management',
        DomainsManagement = <any> 'domains_management',
        DedicatedIpsManagement = <any> 'dedicated_ips_management',
        Send = <any> 'send',
        Smtp = <any> 'smtp',
        ApiKeys = <any> 'api_keys',
        AuthorizedIps = <any> 'authorized_ips',
        None = <any> 'none'
    }
}
