import { Logger } from '../../Logger';
import { TaskContract, TaskRendererOptions, RendererContract } from '../../Contracts';
/**
 * Verbose renderer shows a detailed output of the tasks and the
 * messages logged by a given task
 */
export declare class VerboseRenderer {
    private options;
    private testing;
    /**
     * The renderer to use to output logs
     */
    private renderer?;
    /**
     * List of registered tasks
     */
    private registeredTasks;
    /**
     * Reference to the logger. We will capture logger messages
     * and show them next to the task
     */
    logger: Logger;
    constructor(options: TaskRendererOptions, testing?: boolean);
    /**
     * Returns the renderer for rendering the messages
     */
    private getRenderer;
    /**
     * Prefixes pipe to a line of text
     */
    private prefixPipe;
    /**
     * Instantiates the logger and defines a custom renderer
     * to log messages in context with the currently running
     * task
     */
    private instantiateLogger;
    /**
     * Logs message based upon the state of the task
     */
    private updateTask;
    /**
     * Define a custom renderer. Logs to "stdout" and "stderr"
     * by default
     */
    useRenderer(renderer: RendererContract): this;
    /**
     * Register tasks to render
     */
    tasks(tasks: TaskContract[]): this;
    /**
     * Render all tasks
     */
    render(): void;
}
