/** * Dashboard Resource * * Provides methods for retrieving dashboard statistics and analytics. * All endpoints are read-only and require JWT authentication with admin role. */ import type { HttpClient } from '../http/client'; import type { DashboardStats, TimeSeriesData, TimePeriod } from '../types/dashboard'; export declare class DashboardResource { private http; constructor(http: HttpClient); /** * Get dashboard statistics * * ADMIN ONLY - Requires JWT authentication with admin role. * * Returns overview statistics including tenant count, user count, * active devices, message totals, and error rates. * * @returns Dashboard statistics * @throws {AuthError} If not authenticated or not admin * * @example * ```typescript * const stats = await client.dashboard.getStats(); * * console.log(`Total Tenants: ${stats.totalTenants}`); * console.log(`Active Devices: ${stats.activeDevices}`); * console.log(`Messages (24h): ${stats.messagesLast24h}`); * console.log(`Error Rate: ${(stats.errorRate * 100).toFixed(2)}%`); * ``` */ getStats(): Promise; /** * Get message time series data * * ADMIN ONLY - Requires JWT authentication with admin role. * * Returns time-based message and error statistics for charts/graphs. * Useful for visualizing message volume and error trends over time. * * @param period - Time period ('24h', '7d', or '30d'). Defaults to '24h' * @returns Array of time series data points * @throws {AuthError} If not authenticated or not admin * * @example * ```typescript * // Get last 24 hours of data * const timeSeries = await client.dashboard.getMessageTimeSeries('24h'); * * timeSeries.forEach(point => { * console.log(`${point.timestamp}: ${point.messages} messages, ${point.errors} errors`); * }); * ``` * * @example * ```typescript * // Get last 7 days of data * const weekData = await client.dashboard.getMessageTimeSeries('7d'); * * // Calculate totals * const totalMessages = weekData.reduce((sum, p) => sum + p.messages, 0); * const totalErrors = weekData.reduce((sum, p) => sum + p.errors, 0); * console.log(`Week total: ${totalMessages} messages, ${totalErrors} errors`); * ``` */ getMessageTimeSeries(period?: TimePeriod): Promise; } //# sourceMappingURL=dashboard.d.ts.map