import { useQuery, useSuspenseQuery, UseQueryOptions, UseSuspenseQueryOptions } from '@tanstack/react-query'; /** * Dashboard stats response type */ export interface DashboardStats { totalUsers: number; activeUsers: number; totalReports: number; pendingTasks: number; recentActivity: number; growthRate: number; } /** * Dashboard chart data point */ export interface ChartDataPoint { date: string; value: number; label?: string; } /** * Dashboard charts response type */ export interface DashboardCharts { userGrowth: ChartDataPoint[]; reportTrends: ChartDataPoint[]; activityByDay: ChartDataPoint[]; } /** * Activity item type */ export interface ActivityItem { id: string; type: 'create' | 'update' | 'delete' | 'view'; entityType: string; entityId: string; userId: string; userName: string; timestamp: string; description: string; } /** * Paginated activity response */ export interface ActivityResponse { items: ActivityItem[]; total: number; page: number; pageSize: number; hasMore: boolean; } /** * Query options factory for dashboard stats */ export declare function dashboardStatsQueryOptions(): UseQueryOptions; /** * Query options factory for dashboard charts */ export declare function dashboardChartsQueryOptions(range?: string): UseQueryOptions; /** * Suspense query options factory for dashboard charts */ export declare function dashboardChartsSuspenseQueryOptions(range?: string): UseSuspenseQueryOptions; /** * Query options factory for activity feed */ export declare function activityQueryOptions(page?: number): UseQueryOptions; /** * Suspense query options factory for dashboard stats */ export declare function dashboardStatsSuspenseQueryOptions(): UseSuspenseQueryOptions; /** * Suspense query options factory for activity feed */ export declare function activitySuspenseQueryOptions(page?: number): UseSuspenseQueryOptions; /** * Hook to fetch dashboard stats */ export declare function useDashboardStats(): ReturnType>; /** * Hook to fetch dashboard stats with Suspense */ export declare function useDashboardStatsSuspense(): ReturnType>; /** * Hook to fetch dashboard charts */ export declare function useDashboardCharts(range?: string): ReturnType>; /** * Hook to fetch dashboard charts with Suspense */ export declare function useDashboardChartsSuspense(range?: string): ReturnType>; /** * Hook to fetch activity feed */ export declare function useActivity(page?: number): ReturnType>; /** * Hook to fetch activity feed with Suspense */ export declare function useActivitySuspense(page?: number): ReturnType>;