import { HttpClient } from '../http-client'; import { DeviceStats, ClientStats, SiteStats } from '../types'; import { SessionStats, TrafficStats } from '../types/stats'; export interface DateRange { start?: number; end?: number; } export interface StatsOptions extends DateRange { attrs?: string[]; } export declare class StatsEndpoints { private httpClient; private site; constructor(httpClient: HttpClient, site: string); /** * Get site statistics * @param options - Options for filtering site stats * @returns Promise * @example * const stats = await statsEndpoints.getSiteStats({ start: 1680000000, end: 1681000000 }); */ getSiteStats(options?: StatsOptions): Promise; /** * Get client statistics * @param options - Options for filtering client stats * @returns Promise * @example * const stats = await statsEndpoints.getClientStats({ start: 1680000000, end: 1681000000 }); */ getClientStats(options?: StatsOptions): Promise; /** * Get device statistics * @param options - Options for filtering device stats * @returns Promise * @example * const stats = await statsEndpoints.getDeviceStats({ start: 1680000000, end: 1681000000 }); */ getDeviceStats(options?: StatsOptions): Promise; /** * Get sessions * @param options - Options for filtering sessions * @returns Promise */ getSessions(options?: StatsOptions): Promise; /** * Get hourly site statistics * @param options - Options for filtering hourly site stats * @returns Promise */ getHourlySiteStats(options?: StatsOptions): Promise; /** * Get traffic statistics * @param options - Options for filtering traffic stats * @returns Promise */ getTrafficStats(options?: StatsOptions): Promise; /** * Get all users ever connected * @param options - Options for filtering users * @returns Promise */ getAllUsers(options?: StatsOptions): Promise; /** * Get 5 minute site statistics * @param options - Options for filtering 5 minute site stats * @returns Promise */ get5MinuteSiteStats(options?: StatsOptions): Promise; /** * Get gateway statistics * @param options - Options for filtering gateway stats * @returns Promise */ getGatewayStats(options?: StatsOptions): Promise; }