/* tslint:disable */
/* eslint-disable */
/**
 * Paystack
 * The OpenAPI specification of the Paystack API that merchants and developers can harness to build financial solutions in Africa.
 *
 * The version of the Paystack Node library: 1.0.0
 * Contact: techsupport@paystack.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 { exists, mapValues } from '../runtime';
/**
 * 
 * @export
 * @interface SplitUpdate
 */
export interface SplitUpdate {
    /**
     * Name of the transaction split
     * @type {string}
     * @memberof SplitUpdate
     */
    name?: string;
    /**
     * Toggle status of split. When true, the split is active, else it's inactive
     * @type {boolean}
     * @memberof SplitUpdate
     */
    active?: boolean;
    /**
     * This allows you specify how the transaction charge should be processed
     * @type {string}
     * @memberof SplitUpdate
     */
    bearerType?: string;
    /**
     * This is the subaccount code of the customer or partner that would bear the transaction charge if you specified subaccount as the bearer type
     * @type {string}
     * @memberof SplitUpdate
     */
    bearerSubaccount?: string;
}

export function SplitUpdateFromJSON(json: any): SplitUpdate {
    return SplitUpdateFromJSONTyped(json, false);
}

export function SplitUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): SplitUpdate {
    if ((json === undefined) || (json === null)) {
        return json;
    }
    return {
        
        'name': !exists(json, 'name') ? undefined : json['name'],
        'active': !exists(json, 'active') ? undefined : json['active'],
        'bearerType': !exists(json, 'bearer_type') ? undefined : json['bearer_type'],
        'bearerSubaccount': !exists(json, 'bearer_subaccount') ? undefined : json['bearer_subaccount'],
    };
}

export function SplitUpdateToJSON(value?: SplitUpdate | null): any {
    if (value === undefined) {
        return undefined;
    }
    if (value === null) {
        return null;
    }
    return {
        
        'name': value.name,
        'active': value.active,
        'bearer_type': value.bearerType,
        'bearer_subaccount': value.bearerSubaccount,
    };
}


