import React from "react"; import type { ActivityPhase, RetryInfo } from "../hooks/useAgentLoop.js"; type ActivityAccentColors = { duration: string; tokens: string; thinking: string; }; export declare function getActivityAccentColors(themeName: string): ActivityAccentColors; export declare function buildMetaParts(elapsedMs: number, thinkingMs: number, isThinking: boolean, tokenEstimate: number): { prefix: string; thinking: string; }; export declare function getThinkingShimmerColor(themeName: string): string; /** * Dedicated hue for the "Working..." label shimmer. Deliberately distinct from * the spinner cycle (cool purples/blues), the token accent (violet), the * thinking shimmer (green), and the duration (gray) so the sweep reads as its * own signal — a warm amber/coral. */ export declare function getWorkingShimmerColor(themeName: string): string; interface ActivityIndicatorProps { phase: ActivityPhase; elapsedMs: number; /** Run start time ref — for smooth elapsed time on each animation tick. */ runStartRef?: React.RefObject; thinkingMs: number; isThinking: boolean; thinkingEnabled?: boolean; tokenEstimate: number; /** Raw character count ref for smooth token animation (read every tick). */ charCountRef?: React.RefObject; /** Accumulated real tokens from completed turns. */ realTokensAccumRef?: React.RefObject; userMessage?: string; activeToolNames?: string[]; retryInfo?: RetryInfo | null; planDone?: number; planTotal?: number; /** * Override the default phrase library per-phase. Pass any subset — phases * not provided fall back to ggcoder's contextual selectPhrases. gg-boss * uses this to swap in orchestration-themed phrases ("Coordinating workers" * vs "Cogitating") so the activity bar reads as a manager, not a coder. */ phrases?: Partial>; /** * Override the spinner pulse-color cycle. Defaults to the cool blue/violet * cycle ggcoder uses; gg-boss passes its crimson→fuchsia palette so the * spinner reads as Boss, not Coder. */ pulseColors?: readonly string[]; /** Disable decorative per-tick animation so terminal scrollback remains usable. */ staticDisplay?: boolean; } export declare function ActivityIndicator({ phase, elapsedMs: elapsedMsProp, runStartRef, thinkingMs, isThinking, tokenEstimate, charCountRef: charCountRefProp, realTokensAccumRef: realTokensAccumRefProp, retryInfo, planDone, planTotal, pulseColors: pulseColorsOverride, staticDisplay, }: ActivityIndicatorProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=ActivityIndicator.d.ts.map