import type { GeoJsonObject } from 'geojson';
import type { ImagePromptSegment } from './parseImagePrompts';
/**
 * Segment that represents plain markdown text inside a chat message.
 */
/**
 * Segment that represents plain markdown text inside a chat message.
 *
 * @private internal helper of `<ChatMessageItem/>`
 */
export type ChatTextSegment = {
    type: 'text';
    content: string;
};
/**
 * Segment that represents a Leaflet-ready map rendered from GeoJSON data.
 */
/**
 * Segment that represents a Leaflet-ready map rendered from GeoJSON data.
 *
 * @private internal helper of `<ChatMessageItem/>`
 */
export type ChatMapSegment = {
    type: 'map';
    data: GeoJsonObject;
};
/**
 * Composite segment type that covers text, image prompts, and map features.
 */
/**
 * Composite segment type that covers text, image prompts, and map features.
 *
 * @private internal helper of `<ChatMessageItem/>`
 */
export type ChatMessageContentSegment = ImagePromptSegment | ChatTextSegment | ChatMapSegment;
/**
 * Splits chat message content into markdown, image prompt, and map segments while preserving their order.
 *
 * @private internal helper of `<ChatMessageItem/>`
 */
export declare function splitMessageContentIntoSegments(content: string): ReadonlyArray<ChatMessageContentSegment>;
