/** * `chatBubbleLiveStatus()` — default LiveStatusStrategy. * * Pattern: Strategy. Adapter for a consumer-supplied callback. * Role: The "every chat UI" sink. Wraps a `(line: string) => void` * callback so the consumer just hands us the function their * chat-bubble component needs and we drive it on every * rendered status update. * * Use when: * - Building a chat UI (Neo, Lens, embedded widget) where the * consumer owns rendering but not state derivation * - Tier-1 of compose chains (`compose([chatBubble(setLine), stdout()])` * so dev console mirrors what the user sees) * * The callback runs on EVERY status transition. Consumer can debounce * / coalesce per their needs (we don't impose UI policy). */ import type { LiveStatusStrategy } from '../types.js'; export interface ChatBubbleLiveStatusOptions { /** * Required — called per status update with the rendered line. * Pass `setStatus` from your React component, or any function * whose job is "show this line in the chat bubble." * * NOTE: this is INTENTIONALLY the only callback. If you need access * to the underlying `StatusState` (for color-per-state, animation * triggers, etc.), build your own `LiveStatusStrategy` directly OR * use `compose([chatBubbleLiveStatus({onLine}), customStrategy])`. * We don't surface `StatusState` here because it's an INTERNAL * shape — exposing it would couple consumer UIs to changes in the * state machine. */ readonly onLine: (line: string) => void; } export declare function chatBubbleLiveStatus(opts: ChatBubbleLiveStatusOptions): LiveStatusStrategy; //# sourceMappingURL=chatBubbleLiveStatus.d.ts.map