/// import { Colors } from './colors'; import { TaskChain } from './tasks'; export interface OutputStrategy { readonly stream: NodeJS.WritableStream; readonly colors: Colors; write(msg: string): boolean; createTaskChain(): TaskChain; } export interface StreamOutputStrategyOptions { readonly stream?: NodeJS.WritableStream; readonly colors?: Colors; } export declare class StreamOutputStrategy implements OutputStrategy { readonly stream: NodeJS.WritableStream; readonly colors: Colors; constructor({ stream, colors }: StreamOutputStrategyOptions); write(msg: string): boolean; createTaskChain(): TaskChain; } export interface TTYOutputStrategyOptions extends StreamOutputStrategyOptions { readonly stream?: NodeJS.WriteStream; } export declare class TTYOutputStrategy extends StreamOutputStrategy implements OutputStrategy { readonly stream: NodeJS.WriteStream; protected readonly redrawer: TTYOutputRedrawer; constructor({ stream, colors }?: TTYOutputStrategyOptions); createTaskChain(): TaskChain; } export interface TTYOutputRedrawerOptions { readonly stream?: NodeJS.WriteStream; } export declare class TTYOutputRedrawer { readonly stream: NodeJS.WriteStream; constructor({ stream }: TTYOutputRedrawerOptions); get width(): number; redraw(msg: string): void; clear(): void; end(): void; }