/** * Running a wait against a real terminal. * * The view is pure; this is the only part that reads keys and moves the scene. * It prints the wait's brief to the transcript once, puts the countdown line * beneath the operation's ledger, and races the awaited effect against the * keys: `o` reopens, `c` copies, `esc` and an interrupt stop the wait. Raw * mode belongs to `Terminal.readInput`, which restores it when this scope * closes. */ import * as Effect from "effect/Effect"; import type * as Terminal from "effect/Terminal"; import { type InteractionSurface } from "../interaction.js"; import { WaitAbandoned } from "./wait-abandoned.js"; import { type WaitActions, type WaitView } from "./wait.js"; /** Where a running wait paints, and where its brief and its settlement land. */ export type WaitSurface = InteractionSurface; /** * Carry one wait as a lifecycle fact for as long as it stands open. The * `Waiting` event names the unit the wait parks, so the live ledger paints * that row paused and every lossless observer sees the same pause. Every * screen pairs its waits this way, whatever it can show of them. */ export declare const parkedOnWait: (view: WaitView, run: Effect.Effect) => Effect.Effect; /** * The static form: the brief alone, with no countdown and no keys. It is what * a terminal that cannot animate — and a quiet invocation — shows, and the * command simply waits. */ export declare const runStaticWait: (view: WaitView, awaited: Effect.Effect, surface: WaitSurface) => Effect.Effect; export declare const runWait: (view: WaitView, awaited: Effect.Effect, actions: WaitActions, terminal: Terminal.Terminal, surface: WaitSurface) => Effect.Effect; //# sourceMappingURL=run.d.ts.map