import { Icon } from '@limetech/lime-elements';
/**
 * An item in a `limebb-chat-list` that renders as a labeled row
 * of icons instead of a speech bubble.
 *
 * @beta
 */
export interface ChatIconList {
    /**
     * Discriminator that distinguishes this item from a `ChatItem`.
     */
    type: 'iconList';
    /**
     * The unique identifier of the item.
     */
    id: string | number;
    /**
     * The date and time associated with the item.
     * Used for date-grouping in the chat list.
     */
    timestamp: string | Date;
    /**
     * Visible label rendered before the row of icons.
     * If omitted, no label is rendered.
     */
    label?: string;
    /**
     * The icons to display in the row.
     */
    icons: ChatIconListItem[];
}
/**
 * A single icon entry inside a `ChatIconList`.
 *
 * Extends the `Icon` interface from `@limetech/lime-elements`,
 * which provides `name`, `color`, `backgroundColor`, and `title`
 * (used for accessibility / tooltip).
 *
 * @beta
 */
export interface ChatIconListItem extends Icon {
    /**
     * When `true`, the icon is rendered with a pulsing
     * opacity animation to indicate that the action it
     * represents is still in progress. With
     * `prefers-reduced-motion: reduce`, the animation is
     * disabled and the icon is rendered with a static,
     * lower opacity instead.
     */
    pending?: boolean;
}
//# sourceMappingURL=chat-icon-list.types.d.ts.map