/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { Message, User, Action, Attachment, AttachmentLayout } from './api';
/**
 * @hidden
 */
export interface MessageGroup {
    type: 'message-group';
    messages: Message[];
    author: User;
    timestamp: Date;
    trackBy: any;
}
/**
 * @hidden
 */
export interface AttachmentGroup {
    type: 'attachment-group';
    attachments: Attachment[];
    attachmentLayout: AttachmentLayout;
    timestamp: Date;
    trackBy: any;
}
/**
 * @hidden
 */
export interface ActionGroup {
    type: 'action-group';
    actions?: Action[];
    timestamp: Date;
    trackBy: any;
}
/**
 * @hidden
 */
export interface DateMarker {
    type: 'date-marker';
    timestamp: Date;
    trackBy: any;
}
/**
 * @hidden
 */
export type ViewItem = MessageGroup | AttachmentGroup | ActionGroup | DateMarker;
/**
 * @hidden
 */
export declare const isAuthor: (user: User, msg: Message) => boolean;
/**
 * @hidden
 */
export declare const chatView: (messages: Message[]) => ViewItem[];
