import { z } from "zod";
import { Timezone } from "../moment";
import { GetTotalFinanceReportForFinanceResolverDtoDataT } from "../database/total-finance-report/get-total-finance-report-for-finance-resolver";
import { GetFinanceReportForTotalReportResolverReturnDataT } from "../database/finance-report/get-finance-reports.types";
import { GetUserFinanceReportForFinanceResolver } from "../database/user-finance-report/get-user-finance-report.types";
import { ProviderAccountDTODataT } from "../database/provider-account/get-provider-accounts.types";
import { ResolveFinanceFindManyEntityT, ResolveFinanceUserFinanceProfileT } from "../database/finance-profile/get-finance-profile.types";
import { Moment } from "moment-timezone";
export declare const currencyEnumSchema: z.ZodEnum<["USD", "EUR", "UAH", "USDT"]>;
export type CurrencyEnumT = z.infer<typeof currencyEnumSchema>;
export type ResolveFinanceBalanceUseCaseInputData = {
    financeProfile: ResolveFinanceFindManyEntityT;
    mainTimezone: Timezone;
    monthlyReportId: number;
    todayDate: Moment;
};
export type ResolveUserFinanceReportUseCaseInputData = {
    totalFinanceReport: GetTotalFinanceReportForFinanceResolverDtoDataT;
    userFinanceProfile: ResolveFinanceUserFinanceProfileT;
    financeReport: GetFinanceReportForTotalReportResolverReturnDataT;
    providerAccounts: ProviderAccountDTODataT[];
};
export type ResolveRulesReportUseCaseInputData = {
    financeProfile: ResolveFinanceFindManyEntityT;
    totalFinanceReport: GetTotalFinanceReportForFinanceResolverDtoDataT;
    userFinanceProfile: ResolveFinanceUserFinanceProfileT;
    financeReport: GetFinanceReportForTotalReportResolverReturnDataT;
};
export type ResolveUserFinanceReportInputData = {
    userFinanceProfile: ResolveFinanceUserFinanceProfileT;
    userFinanceReport: GetUserFinanceReportForFinanceResolver | null;
    financeReportId: number;
};
export type ResolveProviderRevenueReportInputDataT = {
    financeReportId: number;
    totalFinanceReport: GetTotalFinanceReportForFinanceResolverDtoDataT;
    userId: number;
    providerAccounts: ProviderAccountDTODataT[];
};
export type ResolveAccountsSpendReportInputDataT = {
    financeReportId: number;
    totalFinanceReport: GetTotalFinanceReportForFinanceResolverDtoDataT;
    userId: number;
};
export type ResolveRuleProfitReportsInputDataT = {
    financeReportId: number;
    financeProfileId: number;
    totalFinanceReport: GetTotalFinanceReportForFinanceResolverDtoDataT;
    userId: number;
    totalFinanceReportId: number;
};
export type ResolveFinanceProviderReportUseCaseInputData = {
    totalFinanceReport: GetTotalFinanceReportForFinanceResolverDtoDataT;
    providerAccounts: ProviderAccountDTODataT[];
};
//# sourceMappingURL=index.d.ts.map