import { ResolveAccountsSpendReportInputDataT, ResolveProviderRevenueReportInputDataT, ResolveUserFinanceReportInputData, ResolveUserFinanceReportUseCaseInputData } from "../../../domain/finance";
import IMomentService from "../../services/Moment/Moment.service.interface";
import IBaseUseCase from "../BaseUseCase.interface";
import IFinanceReportRepository from "../../repository/database/FinanceReport/FinanceReport.repository.interface";
import IUserFinanceReportRepository from "../../repository/database/user-finance-report/UserFinanceReport.repository.interface";
import IDateRevenueRepository from "../../repository/database/DateRevenue/DateRevenue.repository.interface";
import IProviderRevenueReportRepository from "../../repository/database/ProviderRevenueReport/ProviderRevenueReport.repository.interface";
import IAccountSpendReportRepository from "../../repository/database/AccountSpendReport/AccountSpendReport.repository.interface";
import IAdStatRepository from "../../repository/database/AdStat/AdStat.repository.interface";
import IAccountRepository from "../../repository/database/Account/Account.repository.interface";
declare class ResolveUserFinanceReportUseCase implements IBaseUseCase<ResolveUserFinanceReportUseCaseInputData, undefined> {
    private readonly dependency;
    constructor(dependency: {
        momentService: IMomentService;
        financeReportRepository: IFinanceReportRepository;
        userFinanceReportRepository: IUserFinanceReportRepository;
        dateRevenueRepository: IDateRevenueRepository;
        providerRevenueReportRepository: IProviderRevenueReportRepository;
        adStatRepository: IAdStatRepository;
        accountSpendReportRepository: IAccountSpendReportRepository;
        accountRepository: IAccountRepository;
    });
    execute({ totalFinanceReport, userFinanceProfile, financeReport, providerAccounts }: ResolveUserFinanceReportUseCaseInputData): Promise<undefined>;
    resolverUserFinanceReport({ userFinanceProfile, userFinanceReport, financeReportId }: ResolveUserFinanceReportInputData): Promise<void>;
    resolveProviderRevenueReport({ financeReportId, totalFinanceReport, userId, providerAccounts }: ResolveProviderRevenueReportInputDataT): Promise<void>;
    resolveAccountsSpendReport({ financeReportId, totalFinanceReport, userId }: ResolveAccountsSpendReportInputDataT): Promise<void>;
}
export default ResolveUserFinanceReportUseCase;
//# sourceMappingURL=ResolveUserFinanceReport.use-case.d.ts.map