/** * render — static-render entry. Tool-agnostic; every tool that emits a * `CommandResult` reaches the user's terminal through this single seam. * * This is the one place that chooses the output medium: when stdout is a * TTY the result renders through Ink (themed; colorless under NO_COLOR via * the ThemeProvider); when stdout is piped/redirected/CI it renders as * plain text with no banner. Tools never make this choice — they return a * `CommandResult` and this seam picks Ink vs. text. `resultToView` is total * over the `CommandResult` union, so both media consume the same view-model. * * Every Ink/cli-ui import here is dynamic so this module loads no * React/Ink at startup — the hot `opensip fit --json` path (which * uses `emitJson`, never this seam) stays React-free. */ import type { CommandResult } from '@opensip-cli/contracts'; /** * Render a `CommandResult` to the terminal, choosing Ink (TTY) or plain * text (non-TTY) at this single seam. * * Reads the project location from the entered `RunScope` for the Ink * shell's `ℹ Project:` line. Project-agnostic commands and scopeless * error/parse paths pass `undefined` → no project line. The plain-text * path emits no banner or project line by design (clean pipes/CI logs). */ export declare function renderResult(result: CommandResult): Promise; //# sourceMappingURL=render.d.ts.map