import * as Schema from "effect/Schema"; import type { SuggestedAction } from "./suggested-action.js"; export type OutputFormat = "text" | "json"; export declare const ProgressEventSchema: Schema.Struct<{ readonly type: Schema.Literal<"progress">; readonly phase: Schema.String; readonly percent: Schema.Number; readonly message: Schema.String; /** Unit identity, terminal state, waiting reason, and a monotonic timestamp for lifecycle progress. */ readonly unit: Schema.optional; readonly state: Schema.optional; readonly reason: Schema.optional; readonly atMs: Schema.optional; }>; export type ProgressEvent = typeof ProgressEventSchema.Type; export declare const LogEventSchema: Schema.Struct<{ readonly type: Schema.Literal<"log">; readonly level: Schema.Literals; readonly message: Schema.String; }>; export type LogEvent = typeof LogEventSchema.Type; export declare const ErrorEventSchema: Schema.Struct<{ readonly type: Schema.Literal<"error">; readonly code: Schema.String; readonly message: Schema.String; }>; export type ErrorEvent = typeof ErrorEventSchema.Type; /** * Construct an NDJSON `error` event — the single source of truth for the * machine-mode error event shape. The full structured detail (title, metadata, * suggestions) lives in the stdout envelope; the stream event carries only the * stable `code` and a human `message`. */ export declare const makeErrorEvent: (code: string, message: string) => ErrorEvent; export declare const SuggestionEventSchema: Schema.Struct<{ readonly type: Schema.Literal<"suggestion">; readonly description: Schema.String; readonly cmd: Schema.optional; readonly url: Schema.optional; }>; export type SuggestionEvent = typeof SuggestionEventSchema.Type; /** * Construct an NDJSON `suggestion` event — the single source of truth for the * machine-mode suggestion event shape, shared by the renderer and error paths. */ export declare const makeSuggestionEvent: (suggestion: SuggestedAction) => SuggestionEvent; export type StreamEvent = ProgressEvent | LogEvent | ErrorEvent | SuggestionEvent; export declare const emitEvent: (event: StreamEvent) => import("effect/Effect").Effect; //# sourceMappingURL=output-mode.d.ts.map