/**
 * Interactive Update Prompt (Codex-style)
 *
 * Shows a blocking interactive prompt at startup when a cached update is
 * available. Three options via list selection (per CLAUDE.md UX rules):
 *   1. Update now — runs the package manager command and exits
 *   2. Skip — dismiss for this session only
 *   3. Skip until next version — persists dismissed_version in cache
 *
 * Suppressed in non-TTY / CI environments and when the
 * `check_for_update_on_startup` machine-level setting is disabled.
 */
import type { UpdateInfo } from './update-check.js';
/**
 * Returns true when the update prompt should be suppressed:
 * - Non-TTY stdout (piped output)
 * - CI environment (CI, GITHUB_ACTIONS, etc.)
 * - PRLT_NO_UPDATE_PROMPT=1 env var
 */
export declare function shouldSuppressPrompt(): boolean;
type UpdateAction = 'update' | 'skip' | 'skip_version';
/**
 * Show the interactive update prompt and return the user's choice.
 *
 * ```
 * ✨ Update available! 0.3.52 → 0.3.53
 *
 * Release notes: https://github.com/chrismcdermut/proletariat/releases/latest
 *
 * › Update now (runs `brew upgrade chrismcdermut/proletariat/prlt`)
 *   Skip
 *   Skip until next version
 * ```
 */
export declare function showUpdatePrompt(info: UpdateInfo): Promise<UpdateAction>;
/**
 * Handle the full update prompt flow:
 * 1. Check if prompt should be suppressed
 * 2. Check if an update is available (from cache)
 * 3. Show interactive prompt
 * 4. Handle the user's choice
 *
 * Returns true if the process should continue (skip/skip_version),
 * or never returns (update now → process.exit).
 */
export declare function handleUpdatePrompt(info: UpdateInfo): Promise<void>;
export {};
