import { ILoanPaymentWithId } from '../models/LoanPayment.model';
import { ILoanStatementTransactionDoc } from '../models/LoanStatementTransaction.model';
import { LoanChargesService } from './loan-charges.service';
import { LoanStatementService } from './loan-statement.service';
import { LoanTransactionsService } from './loan-transactions.service';
export declare class LoanStatementBalanceService {
    private readonly loanChargesService;
    private readonly getLoanStatementService;
    private readonly loanTransactionsService;
    constructor(loanChargesService: LoanChargesService, getLoanStatementService: () => LoanStatementService, loanTransactionsService: LoanTransactionsService);
    cleanDecreasePayment(payment: ILoanPaymentWithId, userId: string): Promise<void>;
    calculateProductBalance(productId: string, startDate: Date): Promise<void>;
    updateBalance(loanStatementTransaction: ILoanStatementTransactionDoc): Promise<void>;
    getLastStatementTransactionForDate(productId: string, startDate: Date): Promise<ILoanStatementTransactionDoc>;
    getNextAdminTransactionForDate(productId: string, date: Date): Promise<number>;
}
