/// import { PassThrough } from 'stream'; import { Locator } from './types'; export declare enum MessageName { UNNAMED = 0, EXCEPTION = 1, MISSING_PEER_DEPENDENCY = 2, CYCLIC_DEPENDENCIES = 3, DISABLED_BUILD_SCRIPTS = 4, BUILD_DISABLED = 5, SOFT_LINK_BUILD = 6, MUST_BUILD = 7, MUST_REBUILD = 8, BUILD_FAILED = 9, RESOLVER_NOT_FOUND = 10, FETCHER_NOT_FOUND = 11, LINKER_NOT_FOUND = 12, FETCH_NOT_CACHED = 13, YARN_IMPORT_FAILED = 14, REMOTE_INVALID = 15, REMOTE_NOT_FOUND = 16, RESOLUTION_PACK = 17, CACHE_CHECKSUM_MISMATCH = 18, UNUSED_CACHE_ENTRY = 19, MISSING_LOCKFILE_ENTRY = 20, WORKSPACE_NOT_FOUND = 21, TOO_MANY_MATCHING_WORKSPACES = 22, CONSTRAINTS_MISSING_DEPENDENCY = 23, CONSTRAINTS_INCOMPATIBLE_DEPENDENCY = 24, CONSTRAINTS_EXTRANEOUS_DEPENDENCY = 25, CONSTRAINTS_INVALID_DEPENDENCY = 26, CANT_SUGGEST_RESOLUTIONS = 27, FROZEN_LOCKFILE_EXCEPTION = 28, CROSS_DRIVE_VIRTUAL_LOCAL = 29, FETCH_FAILED = 30, DANGEROUS_NODE_MODULES = 31, NODE_GYP_INJECTED = 32, AUTHENTICATION_NOT_FOUND = 33, INVALID_CONFIGURATION_KEY = 34, NETWORK_ERROR = 35, LIFECYCLE_SCRIPT = 36, CONSTRAINTS_MISSING_FIELD = 37, CONSTRAINTS_INCOMPATIBLE_FIELD = 38, CONSTRAINTS_EXTRANEOUS_FIELD = 39, CONSTRAINTS_INVALID_FIELD = 40, AUTHENTICATION_INVALID = 41, PROLOG_UNKNOWN_ERROR = 42, PROLOG_SYNTAX_ERROR = 43, PROLOG_EXISTENCE_ERROR = 44, STACK_OVERFLOW_RESOLUTION = 45, AUTOMERGE_FAILED_TO_PARSE = 46, AUTOMERGE_IMMUTABLE = 47, AUTOMERGE_SUCCESS = 48, AUTOMERGE_REQUIRED = 49, DEPRECATED_CLI_SETTINGS = 50, PLUGIN_NAME_NOT_FOUND = 51, INVALID_PLUGIN_REFERENCE = 52, CONSTRAINTS_AMBIGUITY = 53, CACHE_OUTSIDE_PROJECT = 54, IMMUTABLE_INSTALL = 55, IMMUTABLE_CACHE = 56, INVALID_MANIFEST = 57 } export declare class ReportError extends Error { reportCode: MessageName; constructor(code: MessageName, message: string); } export declare function isReportError(error: Error): error is ReportError; export declare abstract class Report { private reportedInfos; private reportedWarnings; private reportedErrors; abstract reportCacheHit(locator: Locator): void; abstract reportCacheMiss(locator: Locator): void; abstract startTimerPromise(what: string, cb: () => Promise): Promise; abstract startTimerSync(what: string, cb: () => T): T; abstract reportSeparator(): void; abstract reportInfo(name: MessageName | null, text: string): void; abstract reportWarning(name: MessageName, text: string): void; abstract reportError(name: MessageName, text: string): void; abstract reportJson(data: any): void; abstract finalize(): void; reportInfoOnce(name: MessageName, text: string, opts?: { key?: any; }): void; reportWarningOnce(name: MessageName, text: string, opts?: { key?: any; }): void; reportErrorOnce(name: MessageName, text: string, opts?: { key?: any; }): void; reportExceptionOnce(error: Error | ReportError): void; createStreamReporter(prefix?: string | null): PassThrough; }