import type { AssistantMessage } from "@caupulican/pi-ai"; import { type Container, Loader, type LoaderIndicatorOptions, type TUI } from "@caupulican/pi-tui"; import type { ActivityLaneComponent } from "./components/activity-lane.ts"; export interface RuntimeStatusControllerHost { readonly ui: TUI; readonly statusContainer: Container; readonly activityLane: ActivityLaneComponent | undefined; readonly hasHumanAudience: boolean; isStreaming(): boolean; isThinkingHidden(): boolean; } /** Owns the human-facing turn indicator and its loader/activity-lane lifecycle. */ export declare class RuntimeStatusController { private readonly host; private activeLoader; private workingMessage; private workingVisible; private workingIndicatorOptions; private readonly defaultWorkingMessage; private readonly defaultHiddenThinkingLabel; private hiddenThinkingLabel; private runtimeStatusLabel; constructor(host: RuntimeStatusControllerHost); get loadingAnimation(): Loader | undefined; set loadingAnimation(value: Loader | undefined); get isWorkingVisible(): boolean; set isWorkingVisible(value: boolean); get indicatorOptions(): LoaderIndicatorOptions | undefined; set indicatorOptions(value: LoaderIndicatorOptions | undefined); getWorkingLoaderMessage(): string; createWorkingLoader(): Loader; stopWorkingLoader(): void; setWorkingVisible(visible: boolean): void; setWorkingIndicator(options?: LoaderIndicatorOptions): void; setHiddenThinkingLabel(label?: string): void; updateRuntimeStatus(message?: AssistantMessage): void; setWorkingMessage(message: string | undefined, messageInFlight: AssistantMessage | undefined): void; resetWorkingIndicators(): void; } //# sourceMappingURL=runtime-status-controller.d.ts.map