///
import type { UserResponse } from 'open-chat-js';
import type { DefaultStreamChatGenerics } from '../../types/types';
import type { StreamMessage } from '../../context/ChannelStateContext';
type ProcessMessagesParams = {
messages: StreamMessage[];
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 {StreamMessage[]} Transformed list of messages
*/
export declare const processMessages: (params: ProcessMessagesParams) => StreamMessage[];
export declare const makeDateMessageId: (date?: string | Date) => string;
export declare const getLastReceived: (messages: StreamMessage[]) => string | null;
export declare const getReadStates: (messages: StreamMessage[], read: Record;
}> | undefined, returnAllReadData: boolean) => Record[]>;
export declare const insertIntro: (messages: StreamMessage[], headerPosition?: number) => StreamMessage[];
export type GroupStyle = '' | 'middle' | 'top' | 'bottom' | 'single';
export declare const getGroupStyles: (message: StreamMessage, previousMessage: StreamMessage, nextMessage: StreamMessage, 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