/**
 * Interaction-mode detection. The CLI's rich surfaces (spinners, live step
 * lists, prompts) only render when we are attached to an interactive terminal
 * and not running under CI; otherwise everything degrades to plain line logs so
 * pipes, captures, and tests stay deterministic.
 */
/** True under a recognized CI environment. */
export declare function isCI(): boolean;
/** The stream all UI is written to (stderr; stdout is reserved for tool output). */
export declare function uiStream(): NodeJS.WriteStream;
/** True when we should render rich, animated UI to `stream`. */
export declare function isInteractive(stream?: NodeJS.WriteStream): boolean;
/** True when we can read interactive keypresses (raw mode) from stdin. */
export declare function canPromptInteractively(): boolean;
