import { DateRangeKey } from './helpers/analytics-date.helper';
import { SettingsService } from '../settings/settings.service';
import { UserService } from '../user/user.service';
import { RoleService } from '../role/role.service';
import { DepartmentService } from '../departments/departments.service';
import { TeamService } from '../teams/teams.service';
export declare class GoogleAnalyticService {
    private readonly settingsService;
    private readonly userService;
    private readonly roleService;
    private readonly departmentService;
    private readonly teamService;
    constructor(settingsService: SettingsService, userService: UserService, roleService: RoleService, departmentService: DepartmentService, teamService: TeamService);
    private readonly chartConfig;
    private getClient;
    aggregateMetrics(rows: any[]): {
        sessions: number;
        totalUsers: number;
        activeUsers: number;
        newUsers: number;
        screenPageViews: number;
        bounceRate: number;
        averageSessionDuration: number;
    };
    overview(range: DateRangeKey, tenantId: string, customRange?: {
        start: string;
        end: string;
    }): Promise<any>;
    overviewCached(tenantId: string): Promise<any>;
    topPages(propertyId: string, startDate: string, endDate: string, limit: number | undefined, tenantId: string): Promise<any>;
    usersByCountry(propertyId: string, startDate: string | undefined, endDate: string | undefined, limit: number | undefined, tenantId: string): Promise<any>;
    private formatForEcharts;
    private formatChartData;
    private formatTopPages;
    topBrowsers(propertyId: string, startDate: string, endDate: string, limit: number | undefined, tenantId: string): Promise<any>;
    private formatTopBrowsers;
    topReferrers(propertyId: string, startDate: string, endDate: string, limit: number | undefined, tenantId: string): Promise<any>;
    private formatTopReferrers;
    dataCountItem(): Promise<any>;
}
