import { APIResource } from "../../core/resource.mjs"; import { APIPromise } from "../../core/api-promise.mjs"; import { RequestOptions } from "../../internal/request-options.mjs"; export declare class Usage extends APIResource { /** * Get usage statistics * * @example * ```ts * await client.v1.usage.getStats(); * ``` */ getStats(query?: UsageGetStatsParams | null | undefined, options?: RequestOptions): APIPromise; /** * Get usage summary * * @example * ```ts * await client.v1.usage.getSummary({ * endDate: 'endDate', * period: 'hourly', * startDate: 'startDate', * }); * ``` */ getSummary(query: UsageGetSummaryParams, options?: RequestOptions): APIPromise; /** * Get usage events * * @example * ```ts * const response = await client.v1.usage.listEvents(); * ``` */ listEvents(query?: UsageListEventsParams | null | undefined, options?: RequestOptions): APIPromise; /** * Export usage events matching the given filters as CSV. * * @example * ```ts * const csv = await client.v1.usage.exportEvents({ * startDate: '2026-01-01T00:00:00.000Z', * endDate: '2026-12-31T23:59:59.999Z', * }); * ``` */ exportEvents(query?: UsageExportEventsParams | null | undefined, options?: RequestOptions): APIPromise; } export interface UsageListEventsResponse { events: Array; /** * Maximum rows a single CSV export may contain */ maxExportRows: number; total: number; } export interface UsageGetStatsParams { /** * Filter by component type */ componentType?: string; /** * End date for stats (ISO 8601) */ endDate?: string; /** * Filter by group ID */ groupId?: string; /** * Start date for stats (ISO 8601) */ startDate?: string; /** * Filter by user ID */ userId?: string; /** * Filter by resource ID (component ID) */ resourceId?: string; } export interface UsageGetSummaryParams { /** * End date for summary (ISO 8601) */ endDate: string; /** * Summary period */ period: 'hourly' | 'daily' | 'monthly'; /** * Start date for summary (ISO 8601) */ startDate: string; /** * Group results by */ groupBy?: 'user' | 'group' | 'model' | 'endpoint'; } export type UsageEventType = 'material_created' | 'material_uploaded' | 'material_processed' | 'material_deleted' | 'component_created' | 'component_accessed' | 'component_deleted' | 'component_usage' | 'chat_message_sent' | 'chat_session_started' | 'chat_session_ended' | 'chat_feedback' | 'test_created' | 'test_started' | 'test_completed' | 'test_question_answered' | 'test_retaken' | 'audio_recap_create' | 'audio_recap_progress' | 'audio_recap_feedback' | 'assignment_grader_create' | 'video_generation_created' | 'video_generation_completed' | 'video_generation_failed' | 'api_call' | 'cache_hit' | 'sso_login' | 'sso_logout' | 'student_performance'; export interface UsageListEventsParams { /** * Filter by component type */ componentType?: string; /** * End date for filtering (ISO 8601) */ endDate?: string; /** * Filter by event type */ eventType?: UsageEventType; /** * Filter by group ID */ groupId?: string; /** * Number of results to return */ limit?: number; /** * Offset for pagination */ offset?: number; /** * Filter by resource ID */ resourceId?: string; /** * Start date for filtering (ISO 8601) */ startDate?: string; /** * Filter by user ID */ userId?: string; } export interface UsageExportEventsParams { /** * Filter by component type */ componentType?: string; /** * End date for filtering (ISO 8601) */ endDate?: string; /** * Filter by event type */ eventType?: UsageEventType; /** * Filter by group ID */ groupId?: string; /** * Restrict the export to a single page of results */ limit?: number; /** * Offset of the page to export, used with limit */ offset?: number; /** * Filter by resource ID */ resourceId?: string; /** * Start date for filtering (ISO 8601) */ startDate?: string; /** * Filter by user ID */ userId?: string; } export declare namespace Usage { export { type UsageListEventsResponse as UsageListEventsResponse, type UsageEventType as UsageEventType, type UsageGetStatsParams as UsageGetStatsParams, type UsageGetSummaryParams as UsageGetSummaryParams, type UsageListEventsParams as UsageListEventsParams, type UsageExportEventsParams as UsageExportEventsParams, }; } //# sourceMappingURL=usage.d.mts.map