import type { LocalMessage } from 'stream-chat'; import type { MessageDeliveryStatus } from '../../ChannelListItem'; export type ChannelPreviewMessageType = 'text' | 'deleted' | 'error' | 'empty' | 'image' | 'giphy' | 'video' | 'voice' | 'file' | 'unsupported' | 'link' | 'location' | 'poll'; /** * Delivery status of the last own message. * Determines which delivery status icon to render in the preview. * * - `sending` — Clock icon * - `sent` — Single checkmark icon * - `delivered` — Double checkmark icon * - `read` — Double checkmark icon (with distinct color) */ export type ChannelPreviewDeliveryStatus = 'sending' | 'sent' | 'delivered' | 'read'; export type LatestMessagePreviewData = { /** * The type of content being previewed. * Use this to render the appropriate content-type icon. */ type: ChannelPreviewMessageType; /** * The preview text to display. */ text: string; /** * Delivery status of own message. * Only present for own messages that are not in error state. * Use this to render the delivery status icon (clock, checkmark, double checkmark). */ deliveryStatus?: ChannelPreviewDeliveryStatus; /** * Sender name prefix. * - `"You"` (translated) for own messages * - Sender's display name for incoming messages in group channels (>2 members) * - `undefined` for incoming messages in direct conversations */ senderName?: string; }; export type UseLatestMessagePreviewParams = { /** The channel to generate preview for */ participantCount?: number; /** The latest message in the channel */ latestMessage?: LocalMessage; /** * Delivery status from the `useMessageDeliveryStatus` hook. * When provided, used to determine the delivery status icon. * When omitted, delivery status icons are not shown. */ messageDeliveryStatus?: MessageDeliveryStatus; }; export declare const useLatestMessagePreview: ({ latestMessage, messageDeliveryStatus, participantCount, }: UseLatestMessagePreviewParams) => LatestMessagePreviewData; //# sourceMappingURL=useLatestMessagePreview.d.ts.map