declare module 'util' { import * as types from 'util/types'; export interface InspectOptions extends NodeJS.InspectOptions { } 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; /** @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: any): object is any[]; /** @deprecated since v4.0.0 - use `util.types.isRegExp()` instead. */ export function isRegExp(object: any): object is RegExp; /** @deprecated since v4.0.0 - use `util.types.isDate()` instead. */ export function isDate(object: any): object is Date; /** @deprecated since v4.0.0 - use `util.types.isNativeError()` instead. */ export function isError(object: any): object is Error; export function inherits(constructor: any, superConstructor: any): void; export function debuglog(key: string): (msg: string, ...param: any[]) => void; /** @deprecated since v4.0.0 - use `typeof value === 'boolean'` instead. */ export function isBoolean(object: any): object is boolean; /** @deprecated since v4.0.0 - use `Buffer.isBuffer()` instead. */ export function isBuffer(object: any): object is Buffer; /** @deprecated since v4.0.0 - use `typeof value === 'function'` instead. */ export function isFunction(object: any): boolean; /** @deprecated since v4.0.0 - use `value === null` instead. */ export function isNull(object: any): object is null; /** @deprecated since v4.0.0 - use `value === null || value === undefined` instead. */ export function isNullOrUndefined(object: any): object is null | undefined; /** @deprecated since v4.0.0 - use `typeof value === 'number'` instead. */ export function isNumber(object: any): object is number; /** @deprecated since v4.0.0 - use `value !== null && typeof value === 'object'` instead. */ export function isObject(object: any): boolean; /** @deprecated since v4.0.0 - use `(typeof value !== 'object' && typeof value !== 'function') || value === null` instead. */ export function isPrimitive(object: any): boolean; /** @deprecated since v4.0.0 - use `typeof value === 'string'` instead. */ export function isString(object: any): object is string; /** @deprecated since v4.0.0 - use `typeof value === 'symbol'` instead. */ export function isSymbol(object: any): object is symbol; /** @deprecated since v4.0.0 - use `value === undefined` instead. */ export function isUndefined(object: any): object is undefined; export function deprecate(fn: T, message: string, code?: string): T; export function isDeepStrictEqual(val1: any, val2: any): 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; ignoreBOM?: boolean } ); decode( input?: NodeJS.ArrayBufferView | ArrayBuffer | null, options?: { stream?: boolean } ): 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; } }