/** * Analytics resource client. * * Wraps all /v1/analytics endpoints (per-user API usage analytics): * - summary GET /v1/analytics/summary * - chart GET /v1/analytics/chart * - endpoints GET /v1/analytics/endpoints * - logs GET /v1/analytics/logs * - logPages async generator over the logs endpoint * * All results are scoped to the authenticated user — no cross-user visibility. */ import type { HttpClient, ParsedResponse } from '../http.cjs'; import type { AnalyticsSummary, AnalyticsChart, AnalyticsEndpoints, AnalyticsLogs, AnalyticsSummaryParams, AnalyticsChartParams, AnalyticsEndpointsParams, AnalyticsLogsParams } from '../types/analytics.cjs'; export declare class AnalyticsResource { private readonly http; constructor(http: HttpClient); /** * Get KPI summary totals for the authenticated user. * * Returns: requests today, this month, in range, 4xx/5xx counts and rates. * Analytics data is never cached — always returns live counts. * * @param params Optional key-scoping and time range. * * @example * ```ts * const summary = await client.analytics.summary({ range: '7d' }); * console.log('Requests last 7d:', summary.data.requestsInRange); * ``` */ summary(params?: AnalyticsSummaryParams): Promise>; /** * Get per-day request counts broken down by success / 4xx / 5xx. * * @param params Optional key-scoping and time range. * * @example * ```ts * const chart = await client.analytics.chart({ range: '30d' }); * for (const day of chart.data.days) { * console.log(day.date, day.total); * } * ``` */ chart(params?: AnalyticsChartParams): Promise>; /** * Get top-10 endpoints by request volume and by P95 latency. * * @param params Optional key-scoping and time range. * * @example * ```ts * const endpoints = await client.analytics.endpoints({ range: '7d' }); * console.log('Slowest endpoint:', endpoints.data.byLatency[0]?.endpoint); * ``` */ endpoints(params?: AnalyticsEndpointsParams): Promise>; /** * Get paginated API request logs for the authenticated user. * * Supports cursor-based pagination via the `cursor` parameter. * Maximum `limit` is 1000. * * @param params Filter and pagination parameters. * * @example * ```ts * const logs = await client.analytics.logs({ limit: 50, status: '4xx' }); * for (const entry of logs.data.items) { * console.log(entry.method, entry.endpoint, entry.statusCode); * } * ``` */ logs(params?: AnalyticsLogsParams): Promise>; /** * Async generator that automatically paginates through all log entries. * * Uses cursor-based pagination. Yields one page at a time. * * @param params Same parameters as `logs()`. Do not pass `cursor`. * * @example * ```ts * for await (const page of client.analytics.logPages({ range: '7d' })) { * for (const entry of page.data.items) { * console.log(entry.requestId, entry.statusCode); * } * } * ``` */ logPages(params: Omit): AsyncGenerator>; } //# sourceMappingURL=analytics.d.ts.map