import { GenericData, PageInfo } from '@knocklabs/types'; import { NetworkStatus } from '../../networkStatus'; import { FeedItem, FeedMetadata, FeedResponse } from './interfaces'; import { SocketEventPayload, SocketEventType } from './socket-manager'; export type StoreFeedResultOptions = { shouldSetPage?: boolean; shouldAppend?: boolean; }; export interface FeedStoreState { items: FeedItem[]; pageInfo: PageInfo; metadata: FeedMetadata; loading: boolean; networkStatus: NetworkStatus; setResult: (response: FeedResponse, opts?: StoreFeedResultOptions) => void; setMetadata: (metadata: FeedMetadata) => void; setNetworkStatus: (networkStatus: NetworkStatus) => void; setItemAttrs: (itemIds: string[], attrs: object) => void; resetStore: (metadata?: FeedMetadata) => void; } export type FeedMessagesReceivedPayload = Extract; export type FeedRealTimeEvent = "messages.new"; export type FeedEvent = FeedRealTimeEvent | "items.received.page" | "items.received.realtime" | "items.archived" | "items.unarchived" | "items.seen" | "items.unseen" | "items.read" | "items.unread" | "items.all_archived" | "items.all_read" | "items.all_seen"; export type BindableFeedEvent = FeedEvent | "items.received.*" | "items.*"; export interface FeedEventPayload { event: Omit; items: FeedItem[]; metadata: FeedMetadata; } export type FeedRealTimeCallback = (resp: FeedResponse) => void; export type FeedEventCallback = (payload: FeedEventPayload) => void; export type FeedItemOrItems = FeedItem | FeedItem[]; //# sourceMappingURL=types.d.ts.map