import { ITermLoanSettingsOnly } from '../models/TermLoanSettings.model';
import { ETermLoanStatus, ITermLoanView } from '../models/TermLoan.model';
import { ITermLoanCalculated, ITermLoanCalculatedDoc } from '../models/TermLoanCalculated.model';
import { FinancialIndexesService } from './financial-indexes.service';
import { LoanChargesService } from './loan-charges.service';
import { LoanStatementStatusService } from './loan-statement-status.service';
import { LoanTransactionsService } from './loan-transactions.service';
import { UploadsService } from './uploads.service';
export declare class TermLoanService {
    private readonly financialIndexesService;
    private readonly loanChargesService;
    private readonly getLoanStatementStatusService;
    private readonly getLoanTransactionsService;
    private readonly getUploadsService;
    constructor(financialIndexesService: FinancialIndexesService, loanChargesService: LoanChargesService, getLoanStatementStatusService: () => LoanStatementStatusService, getLoanTransactionsService: () => LoanTransactionsService, getUploadsService: () => UploadsService);
    private createTermLoan;
    private refreshChargeSettings;
    private createTermLoanSettings;
    private getCreateTermLoan;
    getTermLoan(productId: string, actual: boolean): Promise<ITermLoanView & {
        calculated: ITermLoanCalculatedDoc[];
    }>;
    saveTermLoanSettings(productId: string, actual: boolean, settings: ITermLoanSettingsOnly): Promise<any>;
    calculateAllTermLoans(): Promise<void>;
    setTermLoanExpected(productId: string, recalculate?: boolean): Promise<void>;
    updateTermLoanStatus(termLoanId: string, calculationStatus: ETermLoanStatus, lastCalculated?: Date): Promise<void>;
    calculateTermLoan(productId: string, actual: boolean): Promise<any>;
    saveCalculatedTermLoan(calculatedTermLoans: ITermLoanCalculated[], productId: string): Promise<void>;
    getTermLoanExcel(productId: string, actual: boolean, short: boolean): Promise<any>;
    isBorrowerTermLoanActual(borrowerId: string): Promise<boolean>;
}
