import { BaseHandler } from './base.handler';
import { StatisticsServiceConfig, StatisticsViewOptions, DailyViewStatisticsItem, StatisticsConcurrencyOptions, StatisticsMaxConcurrentOptions, ConcurrencyDataPointItem, StatisticsAudienceRegionOptions, StatisticsAudienceDeviceOptions, RegionDistributionDisplayItem, DeviceDistributionDisplayItem } from '../types/statistics';
import { StatisticsExportViewlogOptions, StatisticsExportSessionOptions, ViewlogDisplayItem, SessionExportDisplayItem } from '../types/statistics-export';
import { AuthConfig } from '../types/auth';
export interface IStatisticsService {
    getSessionStatsSummaryList(params: any): Promise<any>;
    getInviterPosterList(params: any): Promise<any>;
    getDailyViewStatistics(options: StatisticsViewOptions): Promise<DailyViewStatisticsItem[]>;
    getConcurrencyData(options: StatisticsConcurrencyOptions): Promise<ConcurrencyDataPointItem[]>;
    getMaxConcurrent(options: StatisticsMaxConcurrentOptions): Promise<number>;
    getRegionDistribution(options: StatisticsAudienceRegionOptions): Promise<RegionDistributionDisplayItem[]>;
    getDeviceDistribution(options: StatisticsAudienceDeviceOptions): Promise<DeviceDistributionDisplayItem[]>;
    getViewlog(options: StatisticsExportViewlogOptions): Promise<ViewlogDisplayItem[]>;
    exportSessionStats(options: StatisticsExportSessionOptions): Promise<SessionExportDisplayItem>;
}
export declare class StatisticsHandler extends BaseHandler {
    private readonly statisticsService;
    constructor(authConfig: AuthConfig, serviceConfig: StatisticsServiceConfig, statisticsService?: IStatisticsService);
    viewStatistics(options: StatisticsViewOptions): Promise<void>;
    listSessionSummary(options: any): Promise<void>;
    listInviterPoster(options: any): Promise<void>;
    private displayStatistics;
    private displayStatisticsTable;
    viewConcurrency(options: StatisticsConcurrencyOptions): Promise<void>;
    private displayConcurrency;
    private displayConcurrencyTable;
    viewMaxConcurrent(options: StatisticsMaxConcurrentOptions): Promise<void>;
    private displayMaxConcurrent;
    viewRegionDistribution(options: StatisticsAudienceRegionOptions): Promise<void>;
    private displayRegion;
    private displayRegionTable;
    viewDeviceDistribution(options: StatisticsAudienceDeviceOptions): Promise<void>;
    private displayDevice;
    private displayDeviceTable;
    exportViewlog(options: StatisticsExportViewlogOptions): Promise<void>;
    private displayViewlogTable;
    private exportViewlogToCsv;
    private escapeCsvField;
    exportSessionStats(options: StatisticsExportSessionOptions): Promise<void>;
}
//# sourceMappingURL=statistics.handler.d.ts.map