import { BigQuery } from '@google-cloud/bigquery'; import { Config } from '../core'; import '../core/bigquery'; export declare enum Granularity { Year = "year", Month = "month", Day = "day", Hour = "hour" } export default class Analytics { private readonly bigquery; private readonly config; private readonly dataset; constructor(bigquery: BigQuery, config: Config); static Granularity: typeof Granularity; private readonly firebaseDataSet; private readonly apiDataSet; getEpisodeStats(podcastId: string, episodeId: string): Promise<{ play: number; listen: number; bookmark: number; download: number; }>; getEpisodeTimeSeries(podcastId: string, episodeId: string, options: { tz: string; startDate: string; endDate: string; granularity: Granularity; }): Promise>; getPodcastStats(podcastId: string): Promise<{ play: number; listen: number; subscribe: number; download: number; }>; getPodcastTimeSeries(podcastId: string, options: { tz: string; startDate: string; endDate: string; granularity: Granularity; }): Promise>; getGeoStats(options: { podcastId: string; episodeId?: string; tz: string; startDate: string; endDate: string; }): Promise>; getDeviceStats(options: { podcastId: string; episodeId?: string; tz: string; startDate: string; endDate: string; eventName: string; }): Promise>; getPlayerStats(options: { podcastId: string; episodeId?: string; tz: string; startDate: string; endDate: string; }): Promise>; getPerformanceStat(options: { podcastId: string; episodeId: string; }): Promise>; getStats(options: { tz: string; podcastId: string; episodeId?: string; startDate: string; endDate: string; }): Promise<{ play: number; listen: number; bookmark: number; subscribe: number; download: number; }>; }