/**
 * Apache Fineract
 * Apache Fineract is a secure, multi-tenanted microfinance platform  The goal of the Apache Fineract API is to empower developers to build apps on top of the Apache Fineract Platform<br>The [reference app](https://cui.fineract.dev) (username: mifos, password: password) works on the same demo tenant as the interactive links in this documentation  - The API is organized around [REST](https://en.wikipedia.org/wiki/Representational_state_transfer) - Find out more about Apache Fineract [here](/fineract-provider/api-docs/apiLive.htm#top) - You can [Try The API From Your Browser](/fineract-provider/api-docs/apiLive.htm#interact) - The Generic Options are available [here](/fineract-provider/api-docs/apiLive.htm#genopts) - Find out more about [Updating Dates and Numbers](/fineract-provider/api-docs/apiLive.htm#dates_and_numbers) - For the Authentication and the Basic of HTTP and HTTPS refer [here](/fineract-provider/api-docs/apiLive.htm#authentication_overview) - Check about ERROR codes [here](/fineract-provider/api-docs/apiLive.htm#errors)  Please refer to the [old documentation](/fineract-provider/api-docs/apiLive.htm) for any documentation queries
 *
 * The version of the OpenAPI document: 1.5.0-66-gffae7d4-dirty
 * Contact: dev@fineract.apache.org
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { GetClientIdProductIdAccountingMappings } from './get-client-id-product-id-accounting-mappings';
import { GetClientIdProductIdLockinPeriodFrequencyTypeOptions } from './get-client-id-product-id-lockin-period-frequency-type-options';
import { GetClientIdProductIdMinimumActivePeriodFrequencyTypeOptions } from './get-client-id-product-id-minimum-active-period-frequency-type-options';
import { GetShareAccountsChargeOptions } from './get-share-accounts-charge-options';
import { GetShareAccountsClientIdProductIdAccountingRule } from './get-share-accounts-client-id-product-id-accounting-rule';
import { GetShareAccountsClientIdProductIdLockPeriodTypeEnum } from './get-share-accounts-client-id-product-id-lock-period-type-enum';
import { GetShareAccountsClientIdProductIdMinimumActivePeriodForDividendsTypeEnum } from './get-share-accounts-client-id-product-id-minimum-active-period-for-dividends-type-enum';
import { GetShareAccountsCurrency } from './get-share-accounts-currency';
/**
 *
 * @export
 * @interface GetClientIdProductIdProductOptions
 */
export interface GetClientIdProductIdProductOptions {
    /**
     *
     * @type {number}
     * @memberof GetClientIdProductIdProductOptions
     */
    id?: number;
    /**
     *
     * @type {string}
     * @memberof GetClientIdProductIdProductOptions
     */
    name?: string;
    /**
     *
     * @type {string}
     * @memberof GetClientIdProductIdProductOptions
     */
    shortName?: string;
    /**
     *
     * @type {string}
     * @memberof GetClientIdProductIdProductOptions
     */
    description?: string;
    /**
     *
     * @type {GetShareAccountsCurrency}
     * @memberof GetClientIdProductIdProductOptions
     */
    currency?: GetShareAccountsCurrency;
    /**
     *
     * @type {number}
     * @memberof GetClientIdProductIdProductOptions
     */
    totalShares?: number;
    /**
     *
     * @type {number}
     * @memberof GetClientIdProductIdProductOptions
     */
    totalSharesIssued?: number;
    /**
     *
     * @type {number}
     * @memberof GetClientIdProductIdProductOptions
     */
    unitPrice?: number;
    /**
     *
     * @type {number}
     * @memberof GetClientIdProductIdProductOptions
     */
    shareCapital?: number;
    /**
     *
     * @type {number}
     * @memberof GetClientIdProductIdProductOptions
     */
    minimumShares?: number;
    /**
     *
     * @type {number}
     * @memberof GetClientIdProductIdProductOptions
     */
    norminalShares?: number;
    /**
     *
     * @type {number}
     * @memberof GetClientIdProductIdProductOptions
     */
    maximumShares?: number;
    /**
     *
     * @type {string}
     * @memberof GetClientIdProductIdProductOptions
     */
    marketPrice?: string;
    /**
     *
     * @type {string}
     * @memberof GetClientIdProductIdProductOptions
     */
    charges?: string;
    /**
     *
     * @type {boolean}
     * @memberof GetClientIdProductIdProductOptions
     */
    allowDividendCalculationForInactiveClients?: boolean;
    /**
     *
     * @type {number}
     * @memberof GetClientIdProductIdProductOptions
     */
    lockinPeriod?: number;
    /**
     *
     * @type {GetShareAccountsClientIdProductIdLockPeriodTypeEnum}
     * @memberof GetClientIdProductIdProductOptions
     */
    lockinPeriodEnum?: GetShareAccountsClientIdProductIdLockPeriodTypeEnum;
    /**
     *
     * @type {number}
     * @memberof GetClientIdProductIdProductOptions
     */
    minimumActivePeriod?: number;
    /**
     *
     * @type {GetShareAccountsClientIdProductIdMinimumActivePeriodForDividendsTypeEnum}
     * @memberof GetClientIdProductIdProductOptions
     */
    minimumActivePeriodForDividendsTypeEnum?: GetShareAccountsClientIdProductIdMinimumActivePeriodForDividendsTypeEnum;
    /**
     *
     * @type {GetShareAccountsClientIdProductIdAccountingRule}
     * @memberof GetClientIdProductIdProductOptions
     */
    accountingRule?: GetShareAccountsClientIdProductIdAccountingRule;
    /**
     *
     * @type {GetClientIdProductIdAccountingMappings}
     * @memberof GetClientIdProductIdProductOptions
     */
    accountingMappings?: GetClientIdProductIdAccountingMappings;
    /**
     *
     * @type {GetShareAccountsCurrency}
     * @memberof GetClientIdProductIdProductOptions
     */
    currencyOptions?: GetShareAccountsCurrency;
    /**
     *
     * @type {GetShareAccountsChargeOptions}
     * @memberof GetClientIdProductIdProductOptions
     */
    chargeOptions?: GetShareAccountsChargeOptions;
    /**
     *
     * @type {GetClientIdProductIdMinimumActivePeriodFrequencyTypeOptions}
     * @memberof GetClientIdProductIdProductOptions
     */
    minimumActivePeriodFrequencyTypeOptions?: GetClientIdProductIdMinimumActivePeriodFrequencyTypeOptions;
    /**
     *
     * @type {GetClientIdProductIdLockinPeriodFrequencyTypeOptions}
     * @memberof GetClientIdProductIdProductOptions
     */
    lockinPeriodFrequencyTypeOptions?: GetClientIdProductIdLockinPeriodFrequencyTypeOptions;
    /**
     *
     * @type {object}
     * @memberof GetClientIdProductIdProductOptions
     */
    accountingMappingOptions?: object;
}
