export {};
export declare const enum FeedDataTypeEnum {
    Text = "text",
    Video = "video",
    Image = "image",
    File = "file",
    Audio = "audio",
    LiveStream = "liveStream",
    Clip = "clip",
    Poll = "poll",
    Room = "room"
}
export declare const enum FeedSortByEnum {
    LastCreated = "lastCreated",
    FirstCreated = "firstCreated",
    LastUpdated = "lastUpdated",
    FirstUpdated = "firstUpdated"
}
export declare const enum FeedSourceEnum {
    Community = "community",
    User = "user"
}
export declare const enum FeedTypeEnum {
    Reviewing = "reviewing",
    Published = "published",
    Declined = "declined"
}
declare global {
    namespace Amity {
        type FeedDataType = FeedDataTypeEnum;
        type FeedSortBy = FeedSortByEnum;
        type FeedSource = FeedSourceEnum;
        type Feed = {
            feedId: string;
            feedType: 'reviewing' | 'published';
            targetType: Extract<Amity.Domain, 'community' | 'user'>;
            targetId: string;
            postCount: number;
        } & Amity.Timestamps;
        type FeedMetadata = {
            postId: string;
            feedSnapshotPosition: number;
            feedInjectionType: string;
            feedRelevanceScore: number;
            feedPopularityScore: number;
            feedFreshnessScore: number;
            feedAffinityScore: number;
            feedFinalScore: number;
            feedMmrPenalty: number;
            feedMmrLambda: number;
        };
        type QueryGlobalFeed = {
            dataTypes?: ('video' | 'image' | 'audio' | 'file' | 'poll' | 'liveStream' | 'clip' | 'room')[];
            queryToken?: string;
            includeMixedStructure?: boolean;
        };
        type CustomRankingGlobalFeedLiveCollection = Amity.LiveCollectionParams<Omit<QueryGlobalFeed, 'resolveParent' | 'queryToken'>>;
        type CustomRankingGlobalFeedLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], QueryGlobalFeed>;
        type GlobalFeedLiveCollection = Amity.LiveCollectionParams<Omit<QueryGlobalFeed, 'queryToken'>>;
        type GlobalFeedLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], QueryGlobalFeed>;
        type ForYouFeedLiveCollection = Amity.LiveCollectionParams<Record<string, never>>;
        type ForYouFeedLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], Record<string, never>>;
        type QueryUserFeed = {
            userId: string;
            includeDeleted?: boolean;
            sortBy?: Amity.FeedSortBy;
            dataTypes?: Amity.FeedDataType[];
            matchingOnlyParentPost?: boolean;
            feedSources?: Amity.FeedSource[];
            includeMixedStructure?: boolean;
            untilAt?: Amity.timestamp;
        };
        type UserFeedLiveCollection = Amity.LiveCollectionParams<QueryUserFeed>;
        type UserFeedLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], QueryUserFeed>;
        type FeedType = `${FeedTypeEnum}`;
        type QueryCommunityFeed = {
            communityId: string;
            sortBy?: Amity.FeedSortBy;
            includeDeleted?: boolean;
            feedType?: Amity.FeedType;
            tags?: Amity.Taggable['tags'];
            includeMixedStructure?: boolean;
            untilAt?: Amity.timestamp;
        };
        type CommunityFeedLiveCollection = Amity.LiveCollectionParams<QueryCommunityFeed>;
        type CommunityFeedLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], QueryCommunityFeed>;
    }
}
//# sourceMappingURL=feed.d.ts.map