import type { InlineTickerCatalogEntry } from "../../../../state/hooks/inline-tickers"; import type { ChatMessage, ChatUserSummary } from "../../../../api-client"; export interface ChatMessageBaseProps { msg: ChatMessage; index: number; messages: ChatMessage[]; selectedIdx: number; hoveredIdx: number | null; canSend: boolean; catalog: Record; userByUsername: Map; openTicker: (symbol: string) => void; onUserHover: (user: ChatUserSummary) => void; onUserHoverEnd: () => void; beginReplyTo: (index: number, options?: { deferFocus?: boolean }) => void; beginEditMessage: (index: number, options?: { deferFocus?: boolean }) => boolean; jumpToMessage: (messageId: string) => void; latestEditableMessageId: string | null; }