import { RunnerPhase } from "@stigmer/protos/ai/stigmer/agentic/runner/v1/enum_pb";
/**
 * Sort order for runner phases — active phases first, then by severity.
 *
 * Used by both {@link RunnerPicker} and {@link RunnerListPanel} to present
 * runners in a consistent, predictable order across all UI surfaces.
 */
export declare const PHASE_SORT_ORDER: Record<RunnerPhase, number>;
/**
 * Human-readable label for a runner phase.
 *
 * Returns title-case labels suitable for both compact indicators
 * ("Ready") and full-row display ("Stopped").
 */
export declare function phaseLabel(phase: RunnerPhase): string;
/**
 * Tailwind `bg-*` class for the small colored dot indicator.
 *
 * - Ready    → `bg-success`  (green)
 * - Busy     → `bg-warning`  (amber)
 * - Starting → `bg-primary`  (blue)
 * - Others   → `bg-muted-foreground` (neutral)
 */
export declare function phaseDotColor(phase: RunnerPhase): string;
/**
 * Whether the runner is in an active (workload-accepting) phase.
 *
 * Active = `READY` or `BUSY`. Inactive = everything else.
 */
export declare function isActivePhase(phase: RunnerPhase): boolean;
/**
 * Whether the runner is in a transitional phase whose status is
 * expected to change soon without user action.
 *
 * `PENDING` — resource created, no process launched yet.
 * `STARTING` — process launched, runtime bootstrapping in progress.
 *
 * This is distinct from {@link isActivePhase} (READY | BUSY) where
 * the runner is stable and accepting work.
 *
 * Useful for driving conditional polling: poll while transitional
 * runners exist, stop when all runners reach a stable state.
 */
export declare function isTransitionalPhase(phase: RunnerPhase): boolean;
//# sourceMappingURL=phase.d.ts.map