declare module 'util' { import * as types from 'util/types'; export interface InspectOptions { /** * If set to `true`, getters are going to be * inspected as well. If set to `'get'` only getters without setter are going * to be inspected. If set to `'set'` only getters having a corresponding * setter are going to be inspected. This might cause side effects depending on * the getter function. * @default `false` */ getters?: 'get' | 'set' | boolean | undefined; showHidden?: boolean | undefined; /** * @default 2 */ depth?: number | null | undefined; colors?: boolean | undefined; customInspect?: boolean | undefined; showProxy?: boolean | undefined; maxArrayLength?: number | null | undefined; /** * Specifies the maximum number of characters to * include when formatting. Set to `null` or `Infinity` to show all elements. * Set to `0` or negative to show no characters. * @default 10000 */ maxStringLength?: number | null | undefined; breakLength?: number | undefined; /** * Setting this to `false` causes each object key * to be displayed on a new line. It will also add new lines to text that is * longer than `breakLength`. If set to a number, the most `n` inner elements * are united on a single line as long as all properties fit into * `breakLength`. Short array elements are also grouped together. Note that no * text will be reduced below 16 characters, no matter the `breakLength` size. * For more information, see the example below. * @default `true` */ compact?: boolean | number | undefined; sorted?: boolean | ((a: string, b: string) => number) | undefined; } export type Style = 'special' | 'number' | 'bigint' | 'boolean' | 'undefined' | 'null' | 'string' | 'symbol' | 'date' | 'regexp' | 'module'; export type CustomInspectFunction = (depth: number, options: InspectOptionsStylized) => string; export interface InspectOptionsStylized extends InspectOptions { stylize(text: string, styleType: Style): string; } export function format(format?: any, ...param: any[]): string; export function formatWithOptions(inspectOptions: InspectOptions, format?: any, ...param: any[]): string; export function getSystemErrorMap(): Map; /** @deprecated since v0.11.3 - use a third party module instead. */ export function log(string: string): void; export function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string; export function inspect(object: any, options: InspectOptions): string; export namespace inspect { let colors: NodeJS.Dict<[number, number]>; let styles: { [K in Style]: string }; let defaultOptions: InspectOptions; /** * Allows changing inspect settings from the repl. */ let replDefaults: InspectOptions; const custom: unique symbol; } /** @deprecated since v4.0.0 - use `Array.isArray()` instead. */ export function isArray(object: unknown): object is unknown[]; /** @deprecated since v4.0.0 - use `util.types.isRegExp()` instead. */ export function isRegExp(object: unknown): object is RegExp; /** @deprecated since v4.0.0 - use `util.types.isDate()` instead. */ export function isDate(object: unknown): object is Date; /** @deprecated since v4.0.0 - use `util.types.isNativeError()` instead. */ export function isError(object: unknown): object is Error; export function inherits(constructor: unknown, superConstructor: unknown): void; export function debuglog(key: string): (msg: string, ...param: unknown[]) => void; /** @deprecated since v4.0.0 - use `typeof value === 'boolean'` instead. */ export function isBoolean(object: unknown): object is boolean; /** @deprecated since v4.0.0 - use `Buffer.isBuffer()` instead. */ export function isBuffer(object: unknown): object is Buffer; /** @deprecated since v4.0.0 - use `typeof value === 'function'` instead. */ export function isFunction(object: unknown): boolean; /** @deprecated since v4.0.0 - use `value === null` instead. */ export function isNull(object: unknown): object is null; /** @deprecated since v4.0.0 - use `value === null || value === undefined` instead. */ export function isNullOrUndefined(object: unknown): object is null | undefined; /** @deprecated since v4.0.0 - use `typeof value === 'number'` instead. */ export function isNumber(object: unknown): object is number; /** @deprecated since v4.0.0 - use `value !== null && typeof value === 'object'` instead. */ export function isObject(object: unknown): boolean; /** @deprecated since v4.0.0 - use `(typeof value !== 'object' && typeof value !== 'function') || value === null` instead. */ export function isPrimitive(object: unknown): boolean; /** @deprecated since v4.0.0 - use `typeof value === 'string'` instead. */ export function isString(object: unknown): object is string; /** @deprecated since v4.0.0 - use `typeof value === 'symbol'` instead. */ export function isSymbol(object: unknown): object is symbol; /** @deprecated since v4.0.0 - use `value === undefined` instead. */ export function isUndefined(object: unknown): object is undefined; export function deprecate(fn: T, message: string, code?: string): T; export function isDeepStrictEqual(val1: unknown, val2: unknown): boolean; export function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException) => void) => void; export function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; export function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException) => void) => void; export function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; export function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException) => void) => void; export function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; export function callbackify(fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException) => void) => void; export function callbackify( fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; export function callbackify( fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException) => void) => void; export function callbackify( fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; export function callbackify( fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException) => void) => void; export function callbackify( fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise, ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; export function callbackify( fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise, ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException) => void) => void; export function callbackify( fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; export interface CustomPromisifyLegacy extends Function { __promisify__: TCustom; } export interface CustomPromisifySymbol extends Function { [promisify.custom]: TCustom; } export type CustomPromisify = CustomPromisifySymbol | CustomPromisifyLegacy; export function promisify(fn: CustomPromisify): TCustom; export function promisify(fn: (callback: (err: any, result: TResult) => void) => void): () => Promise; export function promisify(fn: (callback: (err?: any) => void) => void): () => Promise; export function promisify(fn: (arg1: T1, callback: (err: any, result: TResult) => void) => void): (arg1: T1) => Promise; export function promisify(fn: (arg1: T1, callback: (err?: any) => void) => void): (arg1: T1) => Promise; export function promisify(fn: (arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2) => Promise; export function promisify(fn: (arg1: T1, arg2: T2, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2) => Promise; export function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise; export function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise; export function promisify( fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void, ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; export function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; export function promisify( fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void, ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; export function promisify( fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void, ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; export function promisify(fn: Function): Function; export namespace promisify { const custom: unique symbol; } export class TextDecoder { readonly encoding: string; readonly fatal: boolean; readonly ignoreBOM: boolean; constructor( encoding?: string, options?: { fatal?: boolean | undefined; ignoreBOM?: boolean | undefined } ); decode( input?: NodeJS.ArrayBufferView | ArrayBuffer | null, options?: { stream?: boolean | undefined } ): string; } export interface EncodeIntoResult { /** * The read Unicode code units of input. */ read: number; /** * The written UTF-8 bytes of output. */ written: number; } export { types }; export class TextEncoder { readonly encoding: string; encode(input?: string): Uint8Array; encodeInto(input: string, output: Uint8Array): EncodeIntoResult; } } declare module 'node:util' { export * from 'util'; }