UNPKG

bigblocks

Version:

Complete Bitcoin UI component library - authentication, social, wallet, market, inscriptions, and blockchain interactions for React

258 lines 7.49 kB
import type { MessageTransaction } from "bmap-api-types"; import type { BroadcastResult, FeedConfig, FeedResponse, Reaction, SocialError, SocialFriend, SocialNotification, UserSearchResult } from "./social.js"; export interface PostMutationData { content: string; contentType?: "text/plain" | "text/markdown"; app?: string; } export interface ReplyMutationData extends PostMutationData { parentTxid: string; } export interface UseSocialPostResult { mutate: (variables: PostMutationData) => void; mutateAsync: (variables: PostMutationData) => Promise<BroadcastResult>; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; data: BroadcastResult | undefined; reset: () => void; } export interface UseReplyPostResult { mutate: (variables: ReplyMutationData) => void; mutateAsync: (variables: ReplyMutationData) => Promise<BroadcastResult>; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; data: BroadcastResult | undefined; reset: () => void; } export interface LikeMutationData { txid: string; emoji?: string; } export interface UseLikePostResult { mutate: (variables: LikeMutationData) => void; mutateAsync: (variables: LikeMutationData) => Promise<BroadcastResult>; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; data: BroadcastResult | undefined; reset: () => void; } export interface UseUnlikePostResult { mutate: (variables: LikeMutationData) => void; mutateAsync: (variables: LikeMutationData) => Promise<BroadcastResult>; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; data: BroadcastResult | undefined; reset: () => void; } export interface FollowMutationData { idKey: string; } export interface UseFollowUserResult { mutate: (variables: FollowMutationData) => void; mutateAsync: (variables: FollowMutationData) => Promise<BroadcastResult>; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; data: BroadcastResult | undefined; reset: () => void; } export interface UseUnfollowUserResult { mutate: (variables: FollowMutationData) => void; mutateAsync: (variables: FollowMutationData) => Promise<BroadcastResult>; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; data: BroadcastResult | undefined; reset: () => void; } export interface MessageMutationData { recipient: string; content: string; encrypted?: boolean; channel?: string; } export interface UseSendMessageResult { mutate: (variables: MessageMutationData) => void; mutateAsync: (variables: MessageMutationData) => Promise<BroadcastResult>; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; data: BroadcastResult | undefined; reset: () => void; } export interface FriendRequestMutationData { idKey: string; } export interface UseFriendRequestResult { mutate: (variables: FriendRequestMutationData) => void; mutateAsync: (variables: FriendRequestMutationData) => Promise<BroadcastResult>; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; data: BroadcastResult | undefined; reset: () => void; } export interface UseAcceptFriendResult { mutate: (variables: FriendRequestMutationData) => void; mutateAsync: (variables: FriendRequestMutationData) => Promise<BroadcastResult>; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; data: BroadcastResult | undefined; reset: () => void; } export interface UseUnfriendResult { mutate: (variables: FriendRequestMutationData) => void; mutateAsync: (variables: FriendRequestMutationData) => Promise<BroadcastResult>; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; data: BroadcastResult | undefined; reset: () => void; } export interface FeedQueryData { config: FeedConfig; } export interface UseSocialFeedResult { data: { pages: FeedResponse[]; pageParams: unknown[]; } | undefined; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; fetchNextPage: () => void; hasNextPage: boolean; isFetchingNextPage: boolean; } export interface UserSearchQueryData { query: string; limit?: number; } export interface UseBapIdSearchResult { data: UserSearchResult | undefined; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; refetch: () => void; } export interface ReactionsQueryData { txid: string; } export interface UseReactionsResult { data: Reaction[] | undefined; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; refetch: () => void; } export interface NotificationsQueryData { idKey: string; unreadOnly?: boolean; } export interface UseNotificationsResult { data: SocialNotification[] | undefined; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; refetch: () => void; } export interface FriendsQueryData { idKey: string; } export interface UseFriendsResult { data: SocialFriend[] | undefined; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; refetch: () => void; } export interface MessagesQueryData { channel?: string; recipient?: string; limit?: number; } export interface UseMessagesResult { data: { pages: MessageTransaction[][]; pageParams: unknown[]; } | undefined; isLoading: boolean; isError: boolean; isSuccess: boolean; error: SocialError | null; fetchNextPage: () => void; hasNextPage: boolean; isFetchingNextPage: boolean; } export interface SocialHookConfig { apiUrl?: string; broadcaster?: string; retryCount?: number; cacheTime?: number; staleTime?: number; } export interface OptimisticLike { txid: string; emoji: string; added: boolean; timestamp: number; } export interface OptimisticFollow { idKey: string; following: boolean; timestamp: number; } export interface OptimisticPost { tempId: string; content: string; contentType: "text/plain" | "text/markdown"; timestamp: number; } export interface MutationHelpers<TData, TError, TVariables> { mutate: (variables: TVariables) => void; mutateAsync: (variables: TVariables) => Promise<TData>; isLoading: boolean; isError: boolean; isSuccess: boolean; error: TError | null; data: TData | undefined; reset: () => void; } export interface QueryHelpers<TData, TError> { data: TData | undefined; isLoading: boolean; isError: boolean; isSuccess: boolean; error: TError | null; refetch: () => Promise<TData>; isFetching: boolean; } export interface InfiniteQueryHelpers<TData, TError> extends QueryHelpers<TData, TError> { fetchNextPage: () => Promise<TData>; fetchPreviousPage: () => Promise<TData>; hasNextPage: boolean; hasPreviousPage: boolean; isFetchingNextPage: boolean; isFetchingPreviousPage: boolean; } //# sourceMappingURL=hooks.d.ts.map