import type { IIoHost, IoMessage, IoMessageLevel, IoRequest } from '../api/io'; export interface NonInteractiveIoHostProps { /** * Determines the verbosity of the output. * * The IoHost will still receive all messages and requests, * but only the messages included in this level will be printed. * * @default 'info' */ readonly logLevel?: IoMessageLevel; /** * Overrides the automatic TTY detection. * * When TTY is disabled, the CLI will have no interactions or color. * * @default - Determined from the current process */ readonly isTTY?: boolean; /** * Whether the IoHost is running in CI mode. * * In CI mode, all non-error output goes to stdout instead of stderr. * Set to false in the IoHost constructor it will be overwritten if the CLI CI argument is passed * * @default - Determined from the environment, specifically based on `process.env.CI` */ readonly isCI?: boolean; } /** * A simple IO host for a non interactive CLI that writes messages to the console and returns the default answer to all requests. */ export declare class NonInteractiveIoHost implements IIoHost { /** * Whether the IoHost is running in CI mode. * * In CI mode, all non-error output goes to stdout instead of stderr. */ readonly isCI: boolean; /** * Whether the host can use interactions and message styling. */ readonly isTTY: boolean; /** * The current threshold. * * Messages with a lower priority level will be ignored. */ readonly logLevel: IoMessageLevel; private readonly activityPrinter; constructor(props?: NonInteractiveIoHostProps); /** * Notifies the host of a message. * The caller waits until the notification completes. */ notify(msg: IoMessage): Promise; /** * Determines the output stream, based on message and configuration. */ private selectStream; /** * Determines the output stream, based on message level and configuration. */ private selectStreamFromLevel; /** * Notifies the host of a message that requires a response. * * If the host does not return a response the suggested * default response from the input message will be used. */ requestResponse(msg: IoRequest): Promise; /** * Formats a message for console output with optional color support */ private formatMessage; /** * Formats date to HH:MM:SS */ private formatTime; } //# sourceMappingURL=non-interactive-io-host.d.ts.map