import { UseQueryOptions, QueryObserverResult } from '@tanstack/react-query'; import { UserIdentity } from '../types'; /** * Return the current user identity by calling authProvider.getIdentity() on mount * * The return value updates according to the call state: * * - mount: { isPending: true } * - success: { identity, refetch: () => {}, isPending: false } * - error: { error: Error, isPending: false } * * The implementation is left to the authProvider. * * @returns The current user identity. Destructure as { isPending, identity, error, refetch }. * * @example * import { useGetIdentity, useGetOne } from 'react-admin'; * * const PostDetail = ({ id }) => { * const { data: post, isPending: postLoading } = useGetOne('posts', { id }); * const { identity, isPending: identityLoading } = useGetIdentity(); * if (postLoading || identityLoading) return <>Loading...; * if (!post.lockedBy || post.lockedBy === identity.id) { * // post isn't locked, or is locked by me * return * } else { * // post is locked by someone else and cannot be edited * return * } * } */ export declare const useGetIdentity: (options?: UseGetIdentityOptions) => UseGetIdentityResult; export interface UseGetIdentityOptions extends Omit, 'queryKey' | 'queryFn'> { onSuccess?: (data: UserIdentity) => void; onError?: (err: Error) => void; onSettled?: (data?: UserIdentity, error?: Error | null) => void; } export type UseGetIdentityResult = QueryObserverResult & { identity: UserIdentity | undefined; }; export default useGetIdentity; //# sourceMappingURL=useGetIdentity.d.ts.map