/** * UIEvent, discriminated union covering UI render, scroll, and panel events. * * These events drive terminal and web surface rendering without coupling it to business logic. */ export type GoodVibesUIEvent = /** A full re-render has been requested. */ { type: 'UI_RENDER_REQUEST'; } /** Scroll by a relative delta (positive = down, negative = up). */ | { type: 'UI_SCROLL_DELTA'; delta: number; } /** Scroll to an absolute line number. */ | { type: 'UI_SCROLL_TO'; line: number; } /** A collapsible block's collapsed state was toggled. */ | { type: 'UI_BLOCK_TOGGLE_COLLAPSE'; blockIndex: number; } /** A block was requested to re-run. */ | { type: 'UI_BLOCK_RERUN'; blockIndex: number; content: string; } /** The screen was cleared. */ | { type: 'UI_CLEAR_SCREEN'; } /** A panel was opened. */ | { type: 'UI_PANEL_OPEN'; panelId: string; } /** A panel was closed. */ | { type: 'UI_PANEL_CLOSE'; panelId: string; } /** A panel was focused. */ | { type: 'UI_PANEL_FOCUS'; panelId: string; } /** The active view changed (e.g. chat -> search -> help). */ | { type: 'UI_VIEW_CHANGED'; from: string; to: string; }; /** All GoodVibes UI event type literals as a union. */ export type GoodVibesUIEventType = GoodVibesUIEvent['type']; //# sourceMappingURL=ui.d.ts.map