///
import { Writable } from 'stream';
import { Configuration } from './Configuration';
import { MessageName } from './MessageName';
import { Report } from './Report';
import { Locator } from './types';
export declare type LightReportOptions = {
configuration: Configuration;
stdout: Writable;
suggestInstall?: boolean;
};
export declare class LightReport extends Report {
static start(opts: LightReportOptions, cb: (report: LightReport) => Promise): Promise;
private configuration;
private stdout;
private suggestInstall;
private errorCount;
constructor({ configuration, stdout, suggestInstall }: LightReportOptions);
hasErrors(): boolean;
exitCode(): 0 | 1;
reportCacheHit(locator: Locator): void;
reportCacheMiss(locator: Locator): void;
startTimerSync(what: string, cb: () => T): T;
startTimerPromise(what: string, cb: () => Promise): Promise;
startCacheReport(cb: () => Promise): Promise;
reportSeparator(): void;
reportInfo(name: MessageName | null, text: string): void;
reportWarning(name: MessageName, text: string): void;
reportError(name: MessageName, text: string): void;
reportProgress(progress: AsyncIterable<{
progress: number;
title?: string;
}>): {
stop: () => void;
then(onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined): Promise;
catch(onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined): Promise;
[Symbol.toStringTag]: string;
finally(onfinally?: (() => void) | null | undefined): Promise;
};
reportJson(data: any): void;
finalize(): Promise;
private formatNameWithHyperlink;
}