import type { JWTContent } from '@baseapp-frontend/utils/types/jwt'; import type { User } from '../../../types/user'; import type { UseJWTUserOptions } from './types'; /** * Fetches the most recent user data from the server with JWT token data as instant placeholder. * * The key advantage of using this hook is automatic cache invalidation when user * data is mutated, ensuring UI stays in sync with server state. * * Use this when you need fresh user data and automatic updates after user mutations. * * Reads the access token via the `useCookie()` context (seeded server-side by the * dynamic-layout's `cookies()` call) so first-paint avatar/auth state for logged-in * users is correct without relying on any module-level Zustand state. */ declare const useJWTUser: & JWTContent>({ options, accessKeyName, ApiClass, }?: UseJWTUserOptions) => { error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; isPlaceholderData: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise, unknown>>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise>; user: import("@tanstack/react-query").NoInfer | undefined; } | { error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: false; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise, unknown>>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise>; user: import("@tanstack/react-query").NoInfer | undefined; } | { error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise, unknown>>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise>; user: import("@tanstack/react-query").NoInfer | undefined; } | { error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise, unknown>>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise>; user: import("@tanstack/react-query").NoInfer | undefined; } | { error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise, unknown>>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise>; user: import("@tanstack/react-query").NoInfer | undefined; } | { isError: false; error: null; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise, unknown>>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise>; user: import("@tanstack/react-query").NoInfer | undefined; }; export default useJWTUser; //# sourceMappingURL=index.d.ts.map