UNPKG

stream-chat-react

Version:

React components to create chat conversations or livestream style chat

61 lines (60 loc) 4.45 kB
import type { Channel, Event } from 'stream-chat'; import type { Dispatch, SetStateAction } from 'react'; import type { ChannelListProps } from '../ChannelList'; type SetChannels = Dispatch<SetStateAction<Channel[]>>; type BaseParameters = { event: Event; setChannels: SetChannels; }; type RepeatedParameters = { customHandler?: (setChannels: BaseParameters['setChannels'], event: BaseParameters['event']) => void; }; type HandleMessageNewParameters = BaseParameters & RepeatedParameters & { allowNewMessagesFromUnfilteredChannels: boolean; lockChannelOrder: boolean; } & Required<Pick<ChannelListProps, 'filters' | 'sort'>>; type HandleNotificationMessageNewParameters = BaseParameters & RepeatedParameters & { allowNewMessagesFromUnfilteredChannels: boolean; lockChannelOrder: boolean; } & Required<Pick<ChannelListProps, 'filters' | 'sort'>>; type HandleNotificationRemovedFromChannelParameters = BaseParameters & RepeatedParameters; type HandleNotificationAddedToChannelParameters = BaseParameters & RepeatedParameters & { allowNewMessagesFromUnfilteredChannels: boolean; lockChannelOrder: boolean; } & Required<Pick<ChannelListProps, 'sort'>>; type HandleChannelVisibleParameters = BaseParameters & RepeatedParameters & Required<Pick<ChannelListProps, 'sort' | 'filters'>>; type HandleMemberUpdatedParameters = BaseParameters & { lockChannelOrder: boolean; } & Required<Pick<ChannelListProps, 'sort' | 'filters'>>; type HandleChannelDeletedParameters = BaseParameters & RepeatedParameters; type HandleChannelHiddenParameters = BaseParameters & RepeatedParameters; type HandleChannelTruncatedParameters = BaseParameters & RepeatedParameters; type HandleChannelUpdatedParameters = BaseParameters & RepeatedParameters; type HandleUserPresenceChangedParameters = BaseParameters; export declare const useChannelListShapeDefaults: () => { handleChannelDeleted: (p: HandleChannelDeletedParameters) => void; handleChannelHidden: (p: HandleChannelHiddenParameters) => void; handleChannelTruncated: ({ customHandler, event, setChannels }: HandleChannelTruncatedParameters) => void; handleChannelUpdated: ({ customHandler, event, setChannels }: HandleChannelUpdatedParameters) => void; handleChannelVisible: ({ customHandler, event, filters, setChannels, sort, }: HandleChannelVisibleParameters) => Promise<void>; handleMemberUpdated: ({ event, filters, lockChannelOrder, setChannels, sort, }: HandleMemberUpdatedParameters) => void; handleMessageNew: ({ allowNewMessagesFromUnfilteredChannels, customHandler, event, filters, lockChannelOrder, setChannels, sort, }: HandleMessageNewParameters) => void; handleNotificationAddedToChannel: ({ allowNewMessagesFromUnfilteredChannels, customHandler, event, setChannels, sort, }: HandleNotificationAddedToChannelParameters) => Promise<void>; handleNotificationMessageNew: ({ allowNewMessagesFromUnfilteredChannels, customHandler, event, filters, setChannels, sort, }: HandleNotificationMessageNewParameters) => Promise<void>; handleNotificationRemovedFromChannel: ({ customHandler, event, setChannels, }: HandleNotificationRemovedFromChannelParameters) => void; handleUserPresenceChanged: ({ event, setChannels }: HandleUserPresenceChangedParameters) => void; }; type UseDefaultHandleChannelListShapeParameters = Required<Pick<ChannelListProps, 'allowNewMessagesFromUnfilteredChannels' | 'lockChannelOrder' | 'filters' | 'sort'>> & Pick<ChannelListProps, 'onAddedToChannel' | 'onChannelDeleted' | 'onChannelHidden' | 'onChannelTruncated' | 'onChannelUpdated' | 'onChannelVisible' | 'onMessageNew' | 'onMessageNewHandler' | 'onRemovedFromChannel'> & { setChannels: SetChannels; customHandleChannelListShape?: (data: { defaults: ReturnType<typeof useChannelListShapeDefaults>; event: Event; setChannels: SetChannels; }) => void; }; export declare const usePrepareShapeHandlers: ({ allowNewMessagesFromUnfilteredChannels, customHandleChannelListShape, filters, lockChannelOrder, onAddedToChannel, onChannelDeleted, onChannelHidden, onChannelTruncated, onChannelUpdated, onChannelVisible, onMessageNew, onMessageNewHandler, onRemovedFromChannel, setChannels, sort, }: UseDefaultHandleChannelListShapeParameters) => { customHandler: ((e: Event) => void) | null; defaultHandler: (e: Event) => void; }; export declare const useChannelListShape: (handler: (e: Event) => void) => void; export {};