import { default as React } from 'react'; import { StatusLevel } from '../../utils'; import { AstroIconName } from '../display/AstroIcon'; export interface StreamMessage { /** Unique identifier */ id: string; /** Message text/label */ text: string; /** Status level for color and shape */ status?: StatusLevel; /** Optional timestamp */ timestamp?: Date | string; /** Optional icon override */ icon?: AstroIconName; /** Optional metadata/details */ details?: string; /** Child messages (for hierarchical display) */ children?: StreamMessage[]; /** Whether this message is highlighted/active */ active?: boolean; } export interface MessageStreamProps { /** Stream title */ title?: string; /** Subtitle or description */ subtitle?: string; /** Array of messages to display */ messages: StreamMessage[]; /** Maximum height before scrolling */ maxHeight?: number | string; /** Show timestamps */ showTimestamps?: boolean; /** Time format for timestamps */ timeFormat?: "relative" | "absolute" | "time-only"; /** Variant: 'list' for vertical, 'tree' for hierarchical */ variant?: "list" | "tree" | "compact"; /** Custom className */ className?: string; /** Card size */ size?: "sm" | "md" | "lg"; /** On message click */ onMessageClick?: (message: StreamMessage) => void; /** Loading state */ loading?: boolean; /** Empty state message */ emptyMessage?: string; /** Show connection lines (tree variant) */ showConnectors?: boolean; /** Enable collapsible compact mode - shows condensed view that expands on hover/click */ collapsible?: boolean; /** Start expanded when in collapsible mode (pinned state) */ defaultExpanded?: boolean; /** Callback when pin state changes in collapsible mode */ onPinChange?: (isPinned: boolean) => void; } export declare const MessageStream: React.NamedExoticComponent; export default MessageStream;