UNPKG

@amityco/ts-sdk-react-native

Version:

Amity Social Cloud Typescript SDK

109 lines 4.7 kB
export declare const PostContentType: Readonly<{ TEXT: "text"; IMAGE: "image"; FILE: "file"; VIDEO: "video"; LIVESTREAM: "liveStream"; POLL: "poll"; CLIP: "clip"; }>; declare global { namespace Amity { type PostTargetType = Amity.Feed['targetType'] | 'content' | 'all'; type PostContentType = ValueOf<typeof PostContentType> | string; type PostActionType = 'onFetch' | 'onCreate' | 'onUpdate' | 'onDelete' | 'onApproved' | 'onDeclined' | 'onFlagged' | 'onUnflagged' | 'onReactionAdded' | 'onReactionRemoved'; type RawPost<T extends PostContentType = any> = { postId: string; postedUserId: Amity.RawUser['userId']; parentId: Amity.RawPost['postId']; parentPostId: Amity.RawPost['postId']; targetType: PostTargetType; targetId: string; feedId: Amity.Feed['feedId']; children: Amity.RawPost['postId'][]; comments: Amity.InternalComment['commentId'][]; commentsCount: number; hasFlaggedChildren: false; hasFlaggedComment: false; editedAt: Amity.timestamp; metadata?: Record<string, any>; flagCount: number; hashFlag: { bits: number; hashes: number; hash: string; } | null; tags?: string[]; createdAt: Amity.timestamp; updatedAt?: Amity.timestamp; isDeleted?: boolean; path: string; impression: number; reach: number; reactionsCount: number; reactions: Record<string, number>; myReactions?: string[]; hashtags?: string[]; } & Amity.Content<T> & Amity.Mentionable<'user'>; type InternalPost<T extends PostContentType = any> = RawPost<T> & { feedType?: 'reviewing' | 'published'; }; type PostLinkObject = { childrenPosts: Amity.Post[]; latestComments: (Amity.Comment | null)[]; creator: Amity.User | undefined; analytics: { markAsViewed: () => void; }; getImageInfo: () => Amity.File<'image'> | undefined; getVideoInfo: () => Amity.File<'video'> | undefined; getVideoThumbnailInfo: () => Amity.File<'image'> | undefined; getFileInfo: () => Amity.File<'file'> | undefined; getPollInfo: () => Amity.Poll | undefined; getLivestreamInfo: () => Amity.Stream | undefined; getClipInfo: () => Amity.File<'clip'> | undefined; }; type Post<T extends PostContentType = any> = Amity.InternalPost<T> & Amity.PostLinkObject; type ClipDisplayMode = 'fill' | 'fit'; type QueryPosts = { targetId: string; targetType: Amity.InternalPost['targetType']; sortBy?: 'lastCreated' | 'firstCreated'; dataTypes?: Exclude<Amity.PostContentType, 'text'>[]; includeDeleted?: boolean; hasFlag?: boolean; feedType?: 'reviewing' | 'published'; tags?: Amity.Taggable['tags']; matchingOnlyParentPost?: boolean; page?: string; limit?: number; }; type QueryPostsWithHashtags = { dataTypes?: Exclude<Amity.PostContentType, 'text'>[]; targetType: Amity.InternalPost['targetType']; hashtags: string[]; matchingOnlyParentPost?: boolean; page?: string; limit?: number; }; type PostLiveCollection = Amity.LiveCollectionParams<Omit<QueryPosts, 'sortBy' | 'page'> & { sortBy?: 'lastCreated' | 'firstCreated'; }>; type SearchPostWithHashtagLiveCollection = Amity.LiveCollectionParams<Omit<QueryPostsWithHashtags, 'page'> & { sortBy?: 'lastCreated' | 'firstCreated'; }>; type PostLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], Pick<QueryPosts, 'page'>>; type QuerySemanticSearchPosts = { query: string; targetId?: string; targetType?: Amity.InternalPost['targetType']; dataTypes?: string[]; matchingOnlyParentPost?: boolean; limit?: number; }; type SemanticSearchPostLiveCollection = Amity.LiveCollectionParams<Omit<QuerySemanticSearchPosts, 'page'>>; type SemanticSearchPostLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], // postId:score QuerySemanticSearchPosts>; } } //# sourceMappingURL=post.d.ts.map