Public declaration syntax from harness-tui-kit/src/components/system/status_indicator.rs Original source SHA-256: b1870ed1858c8cb790cba3abccaffeceeb1a509b6b1b6306bbe6d039f8fa61c0 Function bodies and constant values are omitted. This is not the complete implementation. Source line 24 #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum StatusKind { /// No active response — just the prompt blinking. Idle, /// Model thinking (no tokens streamed yet). Thinking, /// Tokens streaming in. Streaming, /// Tool / shell call in flight. ToolCall, /// User pressed `Esc` / `/stop` and the SDK is draining. Stopping, /// Stream finished, waiting on the next user input. Done, } Source line 42 #[must_use] pub fn is_busy(self) -> bool; Source line 54 #[must_use] pub fn label(self) -> &'static str; Source line 71 #[derive(Debug, Clone, Default)] pub struct StatusIndicatorState { /// Animation tick (caller increments each frame). pub tick: u64 } Source line 78 pub fn advance(&mut self); Source line 83 pub fn reset(&mut self); Source line 90 #[derive(Debug, Clone)] pub struct StatusIndicator<'a> { } Source line 101 #[must_use] pub fn new(kind: StatusKind) -> Self; Source line 113 #[must_use] pub fn theme(mut self, theme: &'a Theme) -> Self; Source line 120 #[must_use] pub fn elapsed(mut self, elapsed: Duration) -> Self; Source line 128 #[must_use] pub fn detail(mut self, detail: &'a str) -> Self; Source line 135 #[must_use] pub fn interrupt_hint(mut self, on: bool) -> Self; Source line 206 #[must_use] pub fn fmt_elapsed_compact(elapsed_secs: u64) -> String;