export declare const PostContentType: Readonly<{ TEXT: "text"; IMAGE: "image"; FILE: "file"; VIDEO: "video"; LIVESTREAM: "liveStream"; POLL: "poll"; CLIP: "clip"; AUDIO: "audio"; ROOM: "room"; }>; export declare const PostStructureType: Readonly<{ TEXT: "text"; IMAGE: "image"; VIDEO: "video"; FILE: "file"; AUDIO: "audio"; MIXED: "mixed"; }>; declare global { namespace Amity { type PostTargetType = Amity.Feed['targetType'] | 'content' | 'all'; type PostContentType = ValueOf | string; type MixedMediaPostContentType = Exclude, 'text' | 'poll' | 'liveStream' | 'clip'>; type PostActionType = 'onFetch' | 'onCreate' | 'onUpdate' | 'onDelete' | 'onApproved' | 'onDeclined' | 'onFlagged' | 'onUnflagged' | 'onReactionAdded' | 'onReactionRemoved'; type PostStructureType = ValueOf; type RawPost = { 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; 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; myReactions?: string[]; hashtags?: string[]; structureType: Amity.PostStructureType; eventId?: string; links?: Amity.Link[]; } & Amity.Content & Amity.Mentionable<'user'>; type InternalPost = RawPost & { feedType?: 'reviewing' | 'published'; /** * Locally computed comment count (includes all comments and replies). * Initialized from server value, updated by PostCommentCountEngine. */ localCommentCount: number; }; type PostLinkObject = { childrenPosts: Amity.Post[]; latestComments: (Amity.Comment | null)[]; creator: Amity.User | undefined; analytics: { markAsViewed: () => void; }; targetCommunity?: Amity.Community; 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; getAudioInfo: () => Amity.File<'audio'> | undefined; getRoomInfo: () => Amity.Room | undefined; }; type Post = Amity.InternalPost & Amity.PostLinkObject; type ClipDisplayMode = 'fill' | 'fit'; type QueryPosts = { targetId: string; targetType: Amity.InternalPost['targetType']; sortBy?: 'lastCreated' | 'firstCreated'; dataTypes?: Exclude[]; includeDeleted?: boolean; hasFlag?: boolean; feedType?: 'reviewing' | 'published'; tags?: Amity.Taggable['tags']; matchingOnlyParentPost?: boolean; page?: string; limit?: number; includeMixedStructure?: boolean; }; type QueryPostsWithHashtags = { dataTypes?: Exclude[]; targetType: Amity.InternalPost['targetType']; hashtags: string[]; matchingOnlyParentPost?: boolean; page?: string; limit?: number; includeMixedStructure?: boolean; }; type PostLiveCollection = Amity.LiveCollectionParams & { sortBy?: 'lastCreated' | 'firstCreated'; }>; type SearchPostWithHashtagLiveCollection = Amity.LiveCollectionParams & { sortBy?: 'lastCreated' | 'firstCreated'; }>; type PostLiveCollectionCache = Amity.LiveCollectionCache>; type QuerySemanticSearchPosts = { query: string; targetId?: string; targetType?: Amity.InternalPost['targetType']; dataTypes?: string[]; matchingOnlyParentPost?: boolean; limit?: number; includeMixedStructure?: boolean; }; type SemanticSearchPostLiveCollection = Amity.LiveCollectionParams>; type SemanticSearchPostLiveCollectionCache = Amity.LiveCollectionCache; type QueryLiveRoomPosts = { limit?: number; }; type LiveRoomPostLiveCollection = Amity.LiveCollectionParams; type LiveRoomPostLiveCollectionCache = Amity.LiveCollectionCache>; type QueryCommunityLiveRoomPosts = { communityIds: string[]; }; type CommunityLiveRoomPostLiveCollection = Amity.LiveCollectionParams; type CommunityLiveRoomPostLiveCollectionCache = Amity.LiveCollectionCache; type Link = { index?: number; length?: number; url: string; renderPreview: boolean; domain?: string; title?: string; imageUrl?: string; }; } } //# sourceMappingURL=post.d.ts.map