import { Buffer } from 'node:buffer'; import { Readable } from 'node:stream'; import { type Mode } from 'node:fs'; import { type ProcessPromise } from './core.js'; import { type Duration } from './util.js'; import { type RequestInfo, type RequestInit, minimist } from './vendor.js'; export { versions } from './versions.js'; export declare function tempdir(prefix?: string, mode?: Mode): string; export declare function tempfile(name?: string, data?: string | Buffer, mode?: Mode): string; export { tempdir as tmpdir, tempfile as tmpfile }; type ArgvOpts = minimist.Opts & { camelCase?: boolean; parseBoolean?: boolean; }; export declare const parseArgv: (args?: string[], opts?: ArgvOpts, defs?: Record) => minimist.ParsedArgs; export declare function updateArgv(args?: string[], opts?: ArgvOpts): void; export declare const argv: minimist.ParsedArgs; export declare function sleep(duration: Duration): Promise; export declare function fetch(url: RequestInfo, init?: RequestInit): Promise & { pipe: { (dest: TemplateStringsArray, ...args: any[]): ProcessPromise; (dest: D): D; }; }; export declare function echo(...args: any[]): void; export declare function question(query?: string, { choices, input, output, }?: { choices?: string[]; input?: NodeJS.ReadStream; output?: NodeJS.WriteStream; }): Promise; export declare function stdin(stream?: Readable): Promise; export declare function retry(count: number, callback: () => T): Promise; export declare function retry(count: number, duration: Duration | Generator, callback: () => T): Promise; export declare function expBackoff(max?: Duration, delay?: Duration): Generator; export declare function spinner(callback: () => T): Promise; export declare function spinner(title: string, callback: () => T): Promise;