import type { UsageStats } from '../../lib/api-client/usage'; export type UsageScope = 'project' | 'global'; export declare const RANGE_OPTIONS: readonly [{ readonly value: "7"; readonly label: "7D"; readonly days: 7; readonly title: "Last 7 days"; }, { readonly value: "30"; readonly label: "30D"; readonly days: 30; readonly title: "Last 30 days"; }, { readonly value: "90"; readonly label: "90D"; readonly days: 90; readonly title: "Last 90 days"; }, { readonly value: "all"; readonly label: "ALL"; readonly days: 0; readonly title: "All recorded activity"; }]; export type UsageRangeKey = (typeof RANGE_OPTIONS)[number]['value']; export type UsageDay = UsageStats['daily'][number]; export type UsageTotals = UsageStats['totals']; export interface UsageDashboardData { stats: UsageStats | null; loading: boolean; error: string | null; scope: UsageScope; setScope: (scope: UsageScope) => void; rangeKey: UsageRangeKey; setRangeKey: (key: UsageRangeKey) => void; rangeLabel: string; /** Gap-free daily series covering the selected window. */ series: UsageDay[]; activeDays: number; /** Server totals for the preceding window of equal length, if bounded. */ previous: UsageTotals | null; refresh: () => void; scopeLabel: string; } /** * Loads usage stats for the selected scope and range. The range is applied * server-side, so every aggregate — totals, providers, models, daily — covers * exactly the selected window rather than lifetime activity. */ export declare function useUsageDashboardData(): UsageDashboardData; //# sourceMappingURL=useUsageDashboardData.d.ts.map