import type { WorkspaceEntry } from "@stigmer/protos/ai/stigmer/agentic/session/v1/workspace_pb";
/** Props for {@link SetupProgress}. */
export interface SetupProgressProps {
    /**
     * Workspace entries from the session spec. When git-sourced entries
     * are present, the fallback indicator shows workspace-specific messaging
     * (e.g. "Setting up workspace...").
     */
    readonly workspaceEntries?: readonly WorkspaceEntry[];
    /**
     * Server-reported setup phase label from
     * `AgentExecutionStatus.setup_progress.current_phase`.
     *
     * When non-empty, rendered directly — the timer-based fallback is
     * bypassed.  When absent or empty (older backends that don't emit
     * setup progress), the component falls back to the time-based
     * step sequence derived from `workspaceEntries`.
     */
    readonly serverPhase?: string;
    /** Additional CSS class names for the root container. */
    readonly className?: string;
}
/**
 * Animated inline indicator shown in the message thread while an
 * execution is in the `PENDING` phase and no AI messages have arrived.
 *
 * **Server-driven mode** — when the backend reports
 * `setup_progress.current_phase` through the execution stream, the
 * component renders the server-reported label directly.
 *
 * **Timer-based fallback** — when `serverPhase` is absent (older
 * backends), the component cycles through contextual status messages
 * derived from the session configuration on a fixed interval.
 *
 * All visual properties flow through `--stgm-*` tokens.
 *
 * @example
 * ```tsx
 * // Server-driven (preferred)
 * <SetupProgress serverPhase={execution.status?.setupProgress?.currentPhase} />
 *
 * // Fallback (no server phase available)
 * <SetupProgress workspaceEntries={session.spec?.workspaceEntries} />
 * ```
 */
export declare const SetupProgress: import("react").NamedExoticComponent<SetupProgressProps>;
//# sourceMappingURL=SetupProgress.d.ts.map