import type { FeeTaxSettings } from './fee-tax-settings'; import type { GLAccountingRule } from './glaccounting-rule'; import type { PeriodIntervalSettings } from './period-interval-settings'; export interface PredefinedFee { accountingRules?: Array; amortizationSettings?: PeriodIntervalSettings; amount?: number; amountCalculationFunctionName?: string; amountCalculationMethod?: PredefinedFeeAmountCalculationMethodEnum; applyDateMethod?: PredefinedFeeApplyDateMethodEnum; creationDate?: string; defaultFeeRate?: number; encodedKey?: string; feeApplication: PredefinedFeeFeeApplicationEnum; id?: string; includeInPenalty?: boolean; interestBearing?: boolean; lastModifiedDate?: string; name?: string; percentageAmount?: number; scheduleAllocationMethod?: PredefinedFeeScheduleAllocationMethodEnum; state: PredefinedFeeStateEnum; taxSettings?: FeeTaxSettings; trigger: PredefinedFeeTriggerEnum; } export declare const PredefinedFeeAmountCalculationMethodEnum: { readonly Flat: "FLAT"; readonly LoanAmountPercentage: "LOAN_AMOUNT_PERCENTAGE"; readonly RepaymentPrincipalAmountPercentage: "REPAYMENT_PRINCIPAL_AMOUNT_PERCENTAGE"; readonly LoanAmountPercentageNumberOfInstallments: "LOAN_AMOUNT_PERCENTAGE_NUMBER_OF_INSTALLMENTS"; readonly FlatNumberOfInstallments: "FLAT_NUMBER_OF_INSTALLMENTS"; readonly IofPercentageOfDisbursedAmount: "IOF_PERCENTAGE_OF_DISBURSED_AMOUNT"; readonly IofPercentageOfInstallmentPrincipal: "IOF_PERCENTAGE_OF_INSTALLMENT_PRINCIPAL"; readonly IofPercentageOfLateInstallmentPrincipal: "IOF_PERCENTAGE_OF_LATE_INSTALLMENT_PRINCIPAL"; readonly MambuFunction: "MAMBU_FUNCTION"; readonly FeeRateOnOutstandingPrincipal: "FEE_RATE_ON_OUTSTANDING_PRINCIPAL"; }; export type PredefinedFeeAmountCalculationMethodEnum = (typeof PredefinedFeeAmountCalculationMethodEnum)[keyof typeof PredefinedFeeAmountCalculationMethodEnum]; export declare const PredefinedFeeApplyDateMethodEnum: { readonly MonthlyFromActivation: "MONTHLY_FROM_ACTIVATION"; readonly FirstOfEveryMonth: "FIRST_OF_EVERY_MONTH"; }; export type PredefinedFeeApplyDateMethodEnum = (typeof PredefinedFeeApplyDateMethodEnum)[keyof typeof PredefinedFeeApplyDateMethodEnum]; export declare const PredefinedFeeFeeApplicationEnum: { readonly Required: "REQUIRED"; readonly Optional: "OPTIONAL"; }; export type PredefinedFeeFeeApplicationEnum = (typeof PredefinedFeeFeeApplicationEnum)[keyof typeof PredefinedFeeFeeApplicationEnum]; export declare const PredefinedFeeScheduleAllocationMethodEnum: { readonly OnInstallment: "ON_INSTALLMENT"; readonly NoAllocation: "NO_ALLOCATION"; }; export type PredefinedFeeScheduleAllocationMethodEnum = (typeof PredefinedFeeScheduleAllocationMethodEnum)[keyof typeof PredefinedFeeScheduleAllocationMethodEnum]; export declare const PredefinedFeeStateEnum: { readonly Active: "ACTIVE"; readonly Inactive: "INACTIVE"; }; export type PredefinedFeeStateEnum = (typeof PredefinedFeeStateEnum)[keyof typeof PredefinedFeeStateEnum]; export declare const PredefinedFeeTriggerEnum: { readonly Manual: "MANUAL"; readonly ManualPlanned: "MANUAL_PLANNED"; readonly Disbursement: "DISBURSEMENT"; readonly CapitalizedDisbursement: "CAPITALIZED_DISBURSEMENT"; readonly UpfrontDisbursement: "UPFRONT_DISBURSEMENT"; readonly LateRepayment: "LATE_REPAYMENT"; readonly PaymentDue: "PAYMENT_DUE"; readonly PaymentDueAppliedOnDueDates: "PAYMENT_DUE_APPLIED_ON_DUE_DATES"; readonly Arbitrary: "ARBITRARY"; readonly Iof: "IOF"; readonly EarlyRepaymentCharge: "EARLY_REPAYMENT_CHARGE"; readonly FeeIncludedInPmt: "FEE_INCLUDED_IN_PMT"; }; export type PredefinedFeeTriggerEnum = (typeof PredefinedFeeTriggerEnum)[keyof typeof PredefinedFeeTriggerEnum];