import type { DefaultOneChatGenerics, UserResponse } from '../../types'; import type { OneChatMessage } from '../../context/ChannelStateContext'; declare type ProcessMessagesParams = { messages: OneChatMessage[]; userId: string; /** Enable date separator */ enableDateSeparator?: boolean; /** Enable deleted messages to be filtered out of resulting message list */ hideDeletedMessages?: boolean; /** Disable date separator display for unread incoming messages */ hideNewMessageSeparator?: boolean; /** Sets the treshold after everything is considered unread */ lastRead?: Date | null; /** Signals whether to separate giphy preview as well as used to set the giphy preview state */ setGiphyPreviewMessage?: React.Dispatch | undefined>>; }; /** * processMessages - Transform the input message list according to config parameters * * Inserts date separators btw. messages created on different dates or before unread incoming messages. By default: * - enabled in main message list * - disabled in virtualized message list * - disabled in thread * * Allows to filter out deleted messages, contolled by hideDeletedMessages param. This is disabled by default. * * Sets Giphy preview message for VirtualizedMessageList * * The only required params are messages and userId, the rest are config params: * * @return {OneChatMessage[]} Transformed list of messages */ export declare const processMessages: (params: ProcessMessagesParams) => OneChatMessage[]; export declare const makeDateMessageId: (date?: string | Date) => string; export declare const getLastReceived: (messages: OneChatMessage[]) => string | null; export declare const getReadStates: (messages: OneChatMessage[], read: Record; }> | undefined, returnAllReadData: boolean) => Record[]>; export declare const insertIntro: (messages: OneChatMessage[], headerPosition?: number) => OneChatMessage[]; export declare type GroupStyle = '' | 'middle' | 'top' | 'bottom' | 'single'; export declare const getGroupStyles: (message: OneChatMessage, previousMessage: OneChatMessage, nextMessage: OneChatMessage, noGroupByUser: boolean) => GroupStyle; export declare const hasMoreMessagesProbably: (returnedCountMessages: number, limit: number) => boolean; export declare const hasNotMoreMessages: (returnedCountMessages: number, limit: number) => boolean; export {}; //# sourceMappingURL=utils.d.ts.map