// Type definitions for listr 0.14 // Project: https://github.com/samverschueren/listr#readme // Definitions by: Dusan Radovanovic // Vladislav Polyakov // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 /// import * as stream from "stream"; import { Observable } from "rxjs"; declare namespace Listr { interface ListrRenderer { nonTTY: boolean; render(): void; end(): void; } interface ListrOptions { concurrent?: boolean | number; exitOnError?: boolean; renderer?: "silent" | "default" | "verbose" | ListrRenderer; nonTTYRenderer?: "silent" | "default" | "verbose" | ListrRenderer; } interface ListrTask { title: string; output?: string; task: (ctx: any, task: ListrTaskWrapper) => void | string | Promise | stream.Readable | Listr | Observable; skip?: (ctx: any, task: ListrTaskWrapper) => boolean | Promise | string | void | Observable; enabled?: (ctx: any, task: ListrTaskWrapper) => boolean | Promise | Observable; } interface ListrTaskWrapper { title: string; output: any; report(error: Error): void; skip(message: string): void; run(ctx?: any): Promise; } } declare class Listr { constructor(tasks?: ReadonlyArray, options?: Listr.ListrOptions); constructor(options?: Listr.ListrOptions); add(tasks: Listr.ListrTask | ReadonlyArray): void; run(ctx?: any): Promise; } export = Listr;