import { InfiniteData } from '@tanstack/react-query'; import { AttachmentType, Post } from './types'; import { IMessage } from 'react-native-gifted-chat'; import type { Asset } from 'react-native-image-picker'; /** * privatePosts */ export type InfinitePrivatePostsData = InfiniteData; export type PrivatePostsData = PageInfoData & { privatePosts: { edges: { node: Post; }[]; }; }; export type PageInfoData = { privatePosts: { pageInfo: { endCursor: string; hasNextPage: boolean; }; }; }; export type PostDetailsPostQueryResponse = { post: Post; }; export type PostRepliesQueryResponse = { post: Pick; }; export declare const postToMessage: (post: Partial & Pick) => IMessage | IMessage[]; export declare function useInfinitePrivatePosts(userIds: string[]): import("@tanstack/react-query").UseInfiniteQueryResult; /** * CreatePrivatePost */ interface CreatePrivatePostMutationProps { userIds: string[]; post: { message: string; attachmentsV2?: (Attachment & { url: string; })[]; }; } interface Attachment { externalId: string; type: AttachmentType; subType: string; fileName?: string; } export declare function useCreatePrivatePostMutation(): import("@tanstack/react-query").UseMutationResult; /** * CreatePrivatePostAttachment */ interface CreatePrivatePostAttachmentMutationProps { userIds: string[]; asset: Asset; } export interface CreatePrivatePostAttachmentMutationResult { id: string; fileLocation: { permanentUrl: string; uploadUrl: string; }; } export interface CreateAttachmentResponse { attachment: Attachment; uploadConfig: CreatePrivatePostAttachmentMutationResult; } export declare function useCreatePrivatePostAttachmentMutation(): import("@tanstack/react-query").UseMutationResult<{ attachment: Attachment; uploadConfig: any; }, unknown, CreatePrivatePostAttachmentMutationProps, unknown>; export {};