import { PrimaryPublication, PublicationReactionType } from '@lens-protocol/api-bindings'; import { UseDeferredTask } from "../helpers/tasks.js"; export type HasReactedArgs = { publication: PrimaryPublication; reaction: PublicationReactionType; }; /** * A helper to check if a certain type of reaction has been added to a publication. * * @example * ```tsx * const hasUpvoted = hasReacted({ * publication, * reaction: PublicationReactionType.Upvote, * }); * ``` * * @group Helpers */ export declare function hasReacted(args: HasReactedArgs): boolean; export type ReactionToggleArgs = { publication: PrimaryPublication; reaction: PublicationReactionType; }; /** * `useReactionToggle` hook allows to add or remove a reaction to a publication. * * You MUST be authenticated via {@link useLogin} to use this hook. * * @example * ```tsx * import { PrimaryPublication, useReactionToggle } from '@lens-protocol/react-web'; * * function Publication({ publication }: { publication: PrimaryPublication }) { * const { execute: toggle, loading, error } = useReactionToggle(); * * const toggleReaction = async () => { * await toggle({ * reaction: PublicationReactionType.Upvote, * publication, * }); * }; * * if (error) { * return
Error reacting to publication: {error.message}
; * } * * return ( *