import { default as React, ReactNode } from 'react'; import { QueryClient } from '@tanstack/react-query'; /** * Configuration for ArchbaseQueryProvider */ export interface ArchbaseQueryProviderConfig { /** Enable React Query DevTools (default: true in development) */ enableDevTools?: boolean; /** Custom QueryClient instance */ queryClient?: QueryClient; /** Default stale time for all queries (default: 30 seconds) */ defaultStaleTime?: number; /** Default cache time for all queries (default: 5 minutes) */ defaultCacheTime?: number; /** Default retry count (default: 3) */ defaultRetry?: number; /** Enable background refetch on window focus (default: false) */ refetchOnWindowFocus?: boolean; /** Enable background refetch on reconnect (default: true) */ refetchOnReconnect?: boolean; /** Global error handler */ onError?: (error: unknown) => void; /** Global success handler for mutations */ onMutationSuccess?: (data: unknown) => void; } /** * Create optimized QueryClient for Archbase applications */ export declare function createArchbaseQueryClient(config?: ArchbaseQueryProviderConfig): QueryClient; /** * ArchbaseQueryProvider Component */ export interface ArchbaseQueryProviderProps extends ArchbaseQueryProviderConfig { children: ReactNode; } export declare function ArchbaseQueryProvider({ children, queryClient, enableDevTools, ...config }: ArchbaseQueryProviderProps): import("react/jsx-runtime").JSX.Element; /** * Hook to access the QueryClient */ export declare function useArchbaseQueryClient(): QueryClient; /** * Hook for global query states */ export declare function useArchbaseQueryStates(): { stats: { total: number; loading: number; error: number; success: number; stale: number; fresh: number; }; queries: import('@tanstack/react-query').Query[]; invalidateAll: () => Promise; clearAll: () => void; refetchAll: () => Promise; isOnline: boolean; }; /** * Higher-order component for providing QueryClient */ export declare function withArchbaseQuery

(Component: React.ComponentType

, config?: ArchbaseQueryProviderConfig): { (props: P): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * DevTools component for debugging query state */ export declare function ArchbaseQueryDebugger(): import("react/jsx-runtime").JSX.Element; /** * Offline indicator component */ export declare function ArchbaseOfflineIndicator(): import("react/jsx-runtime").JSX.Element; export default ArchbaseQueryProvider;