main
 1import { type RequestInfo, type RequestInit } from './vendor-core.js';
 2import { type Buffer } from 'node:buffer';
 3export type LogEntry = {
 4    verbose?: boolean;
 5} & ({
 6    kind: 'cmd';
 7    cmd: string;
 8    cwd: string;
 9    id: string;
10} | {
11    kind: 'stdout';
12    data: Buffer;
13    id: string;
14} | {
15    kind: 'stderr';
16    data: Buffer;
17    id: string;
18} | {
19    kind: 'end';
20    exitCode: number | null;
21    signal: NodeJS.Signals | null;
22    duration: number;
23    error: null | Error;
24    id: string;
25} | {
26    kind: 'cd';
27    dir: string;
28} | {
29    kind: 'fetch';
30    url: RequestInfo;
31    init?: RequestInit;
32} | {
33    kind: 'retry';
34    attempt: number;
35    total: number;
36    delay: number;
37    exception: unknown;
38    error?: string;
39} | {
40    kind: 'custom';
41    data: any;
42} | {
43    kind: 'kill';
44    pid: number | `${number}`;
45    signal: NodeJS.Signals | null;
46});
47type LogFormatters = {
48    [key in LogEntry['kind']]: (entry: Extract<LogEntry, {
49        kind: key;
50    }>) => string | Buffer;
51};
52type Log = {
53    (entry: LogEntry): void;
54    formatters?: Partial<LogFormatters>;
55    output?: NodeJS.WriteStream;
56};
57export declare const log: Log;
58export declare function formatCmd(cmd: string): string;
59export {};