import { type UsageBillingMode } from "@agent-native/core/usage"; import { type WorkspaceAppSummary } from "./app-creation-store.js"; export interface UsageMetricBucket { key: string; label: string; costCents: number; calls: number; chatCalls: number; inputTokens: number; outputTokens: number; cacheReadTokens: number; cacheWriteTokens: number; activeUsers: number; lastActiveAt: number | null; } export interface UserUsageMetric extends UsageMetricBucket { ownerEmail: string; chatThreads: number; chatMessages: number; lastChatAt: number | null; topApp: string | null; role: string | null; } export interface AppAccessMetric { id: string; name: string; path: string; status: WorkspaceAppSummary["status"]; statusLabel?: string; isDispatch: boolean; accessModel: "workspace" | "solo"; accessLabel: string; accessUsers: number; usersWithUsage: number; usageCalls: number; chatCalls: number; costCents: number; lastActiveAt: number | null; } export interface DailyUsageMetric { date: string; costCents: number; calls: number; chatCalls: number; activeUsers: number; } export interface MonthlyUserUsageMetric { month: string; ownerEmail: string; costCents: number; credits: number; calls: number; chatCalls: number; inputTokens: number; outputTokens: number; cacheReadTokens: number; cacheWriteTokens: number; } export interface WorkspaceAppCreationMetric { month: string; ownerEmail: string; count: number; appIds: string[]; } export interface RecentUsageMetric { id: number; createdAt: number; ownerEmail: string; app: string; label: string; model: string; inputTokens: number; outputTokens: number; cacheReadTokens: number; cacheWriteTokens: number; costCents: number; prompt: string | null; promptSource: "thread" | "thread-preview" | "not-captured" | "unavailable"; threadId: string | null; runId: string | null; taskId: string | null; sourcePlatform: string | null; sourceId: string | null; } export type UsageMetricsScope = "me" | "workspace"; export interface UsageUserOption { email: string; role: string | null; } export interface DispatchUsageMetrics { billing: UsageBillingMode; viewScope: UsageMetricsScope; selectedUserEmail: string | null; availableUsers: UsageUserOption[]; sinceMs: number; sinceDays: number; generatedAt: number; access: { viewerEmail: string; orgId: string | null; role: string | null; scope: "organization" | "solo"; totalUsers: number; }; totals: { costCents: number; calls: number; chatCalls: number; inputTokens: number; outputTokens: number; cacheReadTokens: number; cacheWriteTokens: number; activeUsers: number; chatThreads: number; chatMessages: number; workspaceApps: number; }; byApp: UsageMetricBucket[]; byUser: UserUsageMetric[]; byLabel: UsageMetricBucket[]; byModel: UsageMetricBucket[]; daily: DailyUsageMetric[]; monthlyByUser: MonthlyUserUsageMetric[]; workspaceAppCreationsByUserMonth: WorkspaceAppCreationMetric[]; appAccess: AppAccessMetric[]; recent: RecentUsageMetric[]; } export declare function listDispatchUsageMetrics(input: { sinceDays?: number; scope?: UsageMetricsScope; userEmail?: string | null; }): Promise; //# sourceMappingURL=usage-metrics-store.d.ts.map