import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
import { ChatListItem } from './chat-list.types';
/**
 * Chat list
 * This component displays a list of chat items, and groups them by date.
 * Items in the list have a `ui` property that can be set to `mine` or `theirs`
 * to indicate whether they are incoming or outgoing messages.
 *
 * @exampleComponent limebb-example-chat-list-basic
 * @exampleComponent limebb-example-chat-list-others-are-typing
 * @exampleComponent limebb-example-chat-list-new-messages
 * @exampleComponent limebb-example-chat-list-reverse-order
 * @exampleComponent limebb-example-chat-list-with-promoted-action
 * @exampleComponent limebb-example-chat-list-with-helper-text
 * @exampleComponent limebb-example-chat-list-with-error
 * @exampleComponent limebb-example-chat-list-with-icon-list
 * @exampleComponent limebb-example-chat-list-with-wide-content
 * @beta
 */
export declare class ChatList implements LimeWebComponent {
    /**
     * @inheritdoc
     */
    platform: LimeWebComponentPlatform;
    /**
     * @inheritdoc
     */
    context: LimeWebComponentContext;
    /**
     * List of items to display in the feed.
     * These items must be sorted by their `timestamp` in ascending order
     * (oldest first, newest last). This matches the natural visual order
     * for the default `oldest-on-top` layout, keeping DOM order aligned
     * with visual order for copy/paste, screen readers, and tab order.
     *
     * See the [ChatListItem](#/type/ChatListItem/) type for the kinds of
     * items that can appear in the list.
     */
    items: ChatListItem[];
    /**
     * True if items have not finished loading.
     */
    loading: boolean;
    /**
     * Set to `true` to indicate that other chat participants are typing.
     */
    isTypingIndicatorVisible: boolean;
    /**
     * The date and time of the last time the user visited the Notification List.
     * When provided, the feed will display a divider line between the
     * last visited items (the old items which have a `timestamp` earlier than
     * `lastVisitedTimestamp`) and the newer items.
     *
     * If there are no newer items, the divider line will not be displayed.
     */
    lastVisitedTimestamp?: string | Date | null;
    /**
     * - `newest-on-top` displays new messages at the top of the list;
     * used if the chat input is located on top of the chat interface.
     * - `oldest-on-top` displays new messages at the bottom of the list (default);
     * used if the chat input is located at the bottom of the chat interface.
     *
     * :::important
     * Using this prop will _not_ automatically sort the chat items for you!
     * You still need to pass the items in the correct order (ascending order by timestamp — oldest first).
     * This prop only affects the direction of the elements in the user interface,
     * such as the location of the typing indicator or the scrollbars.
     * :::
     */
    order: 'newest-on-top' | 'oldest-on-top';
    private host;
    private processedItems;
    private scrollAnchor;
    private handleHeightTransitionEnd;
    protected handleItemsChange(): void;
    componentWillLoad(): void;
    componentDidLoad(): void;
    componentWillRender(): void;
    componentDidRender(): void;
    render(): any;
    private renderSpinner;
    private renderTypingIndicatorBlock;
    private renderTypingIndicator;
    private renderChatItems;
    private renderGroup;
    private renderChatItem;
    private renderIconList;
    private renderIndicator;
    private isBusy;
    private get dateTimeFormatter();
    private get translator();
}
//# sourceMappingURL=chat-list.d.ts.map