import React, { PropsWithChildren } from 'react'; import { Activity, GetFeedOptions, ReactionAPIResponse, StreamClient, ReactionAddOptions, UR, Reaction, FeedAPIResponse, ReactionAddChildOptions, ReactionFilterAPIResponse, ReactionFilterConditions } from 'getstream'; import { FeedManager } from './FeedManager'; import { DefaultAT, DefaultUT } from './StreamApp'; export declare type FeedContextValue = { feedGroup: string; feedManager: FeedManager; hasDoneRequest: boolean; hasNextPage: boolean; hasReverseNextPage: boolean; userId?: string; } & Pick, 'loadNextPage' | 'loadNextReactions' | 'loadReverseNextPage' | 'onAddChildReaction' | 'onAddReaction' | 'onMarkAsRead' | 'onMarkAsSeen' | 'onRemoveActivity' | 'onRemoveChildReaction' | 'onRemoveReaction' | 'onToggleChildReaction' | 'onToggleReaction' | 'getActivityPath' | 'refresh' | 'refreshUnreadUnseen'> & Pick['state'], 'activities' | 'activityOrder' | 'realtimeAdds' | 'realtimeDeletes' | 'refreshing' | 'unread' | 'unseen'>; declare type DeleteRequestFn = (id: string) => Promise; export declare type FeedProps = { /** The feed group part of the feed */ feedGroup: string; /** The location that should be used for analytics when liking in the feed, * this is only useful when you have analytics enabled for your app. */ analyticsLocation?: string; /** Override activity delete request */ children?: React.ReactNode; doActivityDeleteRequest?: DeleteRequestFn; /** Override child reaction add request */ doChildReactionAddRequest?: (kind: string, reaction: Reaction, data?: CRT, options?: ReactionAddChildOptions) => Promise>; /** Override child reaction delete request */ doChildReactionDeleteRequest?: DeleteRequestFn; /** The feed read handler (change only for advanced/complex use-cases) */ doFeedRequest?: (client: StreamClient, feedGroup: string, userId?: string, options?: GetFeedOptions) => Promise>; /** Override reaction add request */ doReactionAddRequest?: (kind: string, activity: Activity, data?: RT, options?: ReactionAddOptions) => Promise>; /** Override reaction delete request */ doReactionDeleteRequest?: DeleteRequestFn; /** Override reactions filter request */ doReactionsFilterRequest?: (options: ReactionFilterConditions) => Promise>; /** If true, feed shows the Notifier component when new activities are added */ notify?: boolean; /** Read options for the API client (eg. limit, ranking, ...) */ options?: GetFeedOptions; /** The user_id part of the feed */ userId?: string; }; export declare const FeedContext: React.Context>; export declare const FeedProvider: ({ children, value, }: React.PropsWithChildren<{ value: FeedContextValue; }>) => JSX.Element; export declare const useFeedContext: () => FeedContextValue; export declare function Feed(props: FeedProps): JSX.Element | null; export {}; //# sourceMappingURL=Feed.d.ts.map