import { TransactionService } from 'src/modules/product/transaction.service';
import { AnalyticsQueryDTO, AnalyticsResponseDTO } from './analytics.dto';
import { IAuthParam } from '../authentication/interfaces/authentication.interface';
import { ClientService } from 'src/services/client.service';
import { ProviderService } from 'src/services/provider.service';
import { SuperAdminUsersService } from '../authentication/services/superadmin-users.service';
import { ClientUsersService } from '../authentication/services/client-users.service';
import { ProviderUsersService } from '../authentication/services/provider-users.service';
import { AdminUsersService } from '../authentication/services/admin-users.service';
import { EAuthType } from '../authentication/enums/authentication.enum';
import { AuthService } from '../authentication/services/authentication.service';
export declare class AnalyticsService {
    transactionService: TransactionService;
    clientService: ClientService;
    authS: AuthService;
    providerService: ProviderService;
    superAdminUsersService: SuperAdminUsersService;
    adminUsersService: AdminUsersService;
    clientUsersService: ClientUsersService;
    providerUsersService: ProviderUsersService;
    static path: string;
    static tag: string;
    constructor(transactionService: TransactionService, clientService: ClientService, authS: AuthService, providerService: ProviderService, superAdminUsersService: SuperAdminUsersService, adminUsersService: AdminUsersService, clientUsersService: ClientUsersService, providerUsersService: ProviderUsersService);
    protected readonly accessRankMatrix: {
        [k in EAuthType]: number;
    };
    protected manageAccess: (userRank: number, dataType: EAuthType, dataFactory: () => Promise<number>) => Promise<number>;
    getAnalytics(query: AnalyticsQueryDTO, auth: IAuthParam): Promise<AnalyticsResponseDTO>;
}
