/** 
 | 
 * The `os` module provides operating system-related utility methods and 
 | 
 * properties. It can be accessed using: 
 | 
 * 
 | 
 * ```js 
 | 
 * const os = require('os'); 
 | 
 * ``` 
 | 
 * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/os.js) 
 | 
 */ 
 | 
declare module 'os' { 
 | 
    interface CpuInfo { 
 | 
        model: string; 
 | 
        speed: number; 
 | 
        times: { 
 | 
            user: number; 
 | 
            nice: number; 
 | 
            sys: number; 
 | 
            idle: number; 
 | 
            irq: number; 
 | 
        }; 
 | 
    } 
 | 
    interface NetworkInterfaceBase { 
 | 
        address: string; 
 | 
        netmask: string; 
 | 
        mac: string; 
 | 
        internal: boolean; 
 | 
        cidr: string | null; 
 | 
    } 
 | 
    interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase { 
 | 
        family: 'IPv4'; 
 | 
        scopeid?: undefined; 
 | 
    } 
 | 
    interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase { 
 | 
        family: 'IPv6'; 
 | 
        scopeid: number; 
 | 
    } 
 | 
    interface UserInfo<T> { 
 | 
        username: T; 
 | 
        uid: number; 
 | 
        gid: number; 
 | 
        shell: T; 
 | 
        homedir: T; 
 | 
    } 
 | 
    type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6; 
 | 
    /** 
 | 
     * Returns the host name of the operating system as a string. 
 | 
     * @since v0.3.3 
 | 
     */ 
 | 
    function hostname(): string; 
 | 
    /** 
 | 
     * Returns an array containing the 1, 5, and 15 minute load averages. 
 | 
     * 
 | 
     * The load average is a measure of system activity calculated by the operating 
 | 
     * system and expressed as a fractional number. 
 | 
     * 
 | 
     * The load average is a Unix-specific concept. On Windows, the return value is 
 | 
     * always `[0, 0, 0]`. 
 | 
     * @since v0.3.3 
 | 
     */ 
 | 
    function loadavg(): number[]; 
 | 
    /** 
 | 
     * Returns the system uptime in number of seconds. 
 | 
     * @since v0.3.3 
 | 
     */ 
 | 
    function uptime(): number; 
 | 
    /** 
 | 
     * Returns the amount of free system memory in bytes as an integer. 
 | 
     * @since v0.3.3 
 | 
     */ 
 | 
    function freemem(): number; 
 | 
    /** 
 | 
     * Returns the total amount of system memory in bytes as an integer. 
 | 
     * @since v0.3.3 
 | 
     */ 
 | 
    function totalmem(): number; 
 | 
    /** 
 | 
     * Returns an array of objects containing information about each logical CPU core. 
 | 
     * 
 | 
     * The properties included on each object include: 
 | 
     * 
 | 
     * ```js 
 | 
     * [ 
 | 
     *   { 
 | 
     *     model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz', 
 | 
     *     speed: 2926, 
 | 
     *     times: { 
 | 
     *       user: 252020, 
 | 
     *       nice: 0, 
 | 
     *       sys: 30340, 
 | 
     *       idle: 1070356870, 
 | 
     *       irq: 0 
 | 
     *     } 
 | 
     *   }, 
 | 
     *   { 
 | 
     *     model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz', 
 | 
     *     speed: 2926, 
 | 
     *     times: { 
 | 
     *       user: 306960, 
 | 
     *       nice: 0, 
 | 
     *       sys: 26980, 
 | 
     *       idle: 1071569080, 
 | 
     *       irq: 0 
 | 
     *     } 
 | 
     *   }, 
 | 
     *   { 
 | 
     *     model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz', 
 | 
     *     speed: 2926, 
 | 
     *     times: { 
 | 
     *       user: 248450, 
 | 
     *       nice: 0, 
 | 
     *       sys: 21750, 
 | 
     *       idle: 1070919370, 
 | 
     *       irq: 0 
 | 
     *     } 
 | 
     *   }, 
 | 
     *   { 
 | 
     *     model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz', 
 | 
     *     speed: 2926, 
 | 
     *     times: { 
 | 
     *       user: 256880, 
 | 
     *       nice: 0, 
 | 
     *       sys: 19430, 
 | 
     *       idle: 1070905480, 
 | 
     *       irq: 20 
 | 
     *     } 
 | 
     *   }, 
 | 
     * ] 
 | 
     * ``` 
 | 
     * 
 | 
     * `nice` values are POSIX-only. On Windows, the `nice` values of all processors 
 | 
     * are always 0. 
 | 
     * @since v0.3.3 
 | 
     */ 
 | 
    function cpus(): CpuInfo[]; 
 | 
    /** 
 | 
     * Returns the operating system name as returned by [`uname(3)`](https://linux.die.net/man/3/uname). For example, it 
 | 
     * returns `'Linux'` on Linux, `'Darwin'` on macOS, and `'Windows_NT'` on Windows. 
 | 
     * 
 | 
     * See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for additional information 
 | 
     * about the output of running [`uname(3)`](https://linux.die.net/man/3/uname) on various operating systems. 
 | 
     * @since v0.3.3 
 | 
     */ 
 | 
    function type(): string; 
 | 
    /** 
 | 
     * Returns the operating system as a string. 
 | 
     * 
 | 
     * On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `GetVersionExW()` is used. See 
 | 
     * [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information. 
 | 
     * @since v0.3.3 
 | 
     */ 
 | 
    function release(): string; 
 | 
    /** 
 | 
     * Returns an object containing network interfaces that have been assigned a 
 | 
     * network address. 
 | 
     * 
 | 
     * Each key on the returned object identifies a network interface. The associated 
 | 
     * value is an array of objects that each describe an assigned network address. 
 | 
     * 
 | 
     * The properties available on the assigned network address object include: 
 | 
     * 
 | 
     * ```js 
 | 
     * { 
 | 
     *   lo: [ 
 | 
     *     { 
 | 
     *       address: '127.0.0.1', 
 | 
     *       netmask: '255.0.0.0', 
 | 
     *       family: 'IPv4', 
 | 
     *       mac: '00:00:00:00:00:00', 
 | 
     *       internal: true, 
 | 
     *       cidr: '127.0.0.1/8' 
 | 
     *     }, 
 | 
     *     { 
 | 
     *       address: '::1', 
 | 
     *       netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', 
 | 
     *       family: 'IPv6', 
 | 
     *       mac: '00:00:00:00:00:00', 
 | 
     *       scopeid: 0, 
 | 
     *       internal: true, 
 | 
     *       cidr: '::1/128' 
 | 
     *     } 
 | 
     *   ], 
 | 
     *   eth0: [ 
 | 
     *     { 
 | 
     *       address: '192.168.1.108', 
 | 
     *       netmask: '255.255.255.0', 
 | 
     *       family: 'IPv4', 
 | 
     *       mac: '01:02:03:0a:0b:0c', 
 | 
     *       internal: false, 
 | 
     *       cidr: '192.168.1.108/24' 
 | 
     *     }, 
 | 
     *     { 
 | 
     *       address: 'fe80::a00:27ff:fe4e:66a1', 
 | 
     *       netmask: 'ffff:ffff:ffff:ffff::', 
 | 
     *       family: 'IPv6', 
 | 
     *       mac: '01:02:03:0a:0b:0c', 
 | 
     *       scopeid: 1, 
 | 
     *       internal: false, 
 | 
     *       cidr: 'fe80::a00:27ff:fe4e:66a1/64' 
 | 
     *     } 
 | 
     *   ] 
 | 
     * } 
 | 
     * ``` 
 | 
     * @since v0.6.0 
 | 
     */ 
 | 
    function networkInterfaces(): NodeJS.Dict<NetworkInterfaceInfo[]>; 
 | 
    /** 
 | 
     * Returns the string path of the current user's home directory. 
 | 
     * 
 | 
     * On POSIX, it uses the `$HOME` environment variable if defined. Otherwise it 
 | 
     * uses the [effective UID](https://en.wikipedia.org/wiki/User_identifier#Effective_user_ID) to look up the user's home directory. 
 | 
     * 
 | 
     * On Windows, it uses the `USERPROFILE` environment variable if defined. 
 | 
     * Otherwise it uses the path to the profile directory of the current user. 
 | 
     * @since v2.3.0 
 | 
     */ 
 | 
    function homedir(): string; 
 | 
    /** 
 | 
     * Returns information about the currently effective user. On POSIX platforms, 
 | 
     * this is typically a subset of the password file. The returned object includes 
 | 
     * the `username`, `uid`, `gid`, `shell`, and `homedir`. On Windows, the `uid` and`gid` fields are `-1`, and `shell` is `null`. 
 | 
     * 
 | 
     * The value of `homedir` returned by `os.userInfo()` is provided by the operating 
 | 
     * system. This differs from the result of `os.homedir()`, which queries 
 | 
     * environment variables for the home directory before falling back to the 
 | 
     * operating system response. 
 | 
     * 
 | 
     * Throws a `SystemError` if a user has no `username` or `homedir`. 
 | 
     * @since v6.0.0 
 | 
     */ 
 | 
    function userInfo(options: { encoding: 'buffer' }): UserInfo<Buffer>; 
 | 
    function userInfo(options?: { encoding: BufferEncoding }): UserInfo<string>; 
 | 
    type SignalConstants = { 
 | 
        [key in NodeJS.Signals]: number; 
 | 
    }; 
 | 
    namespace constants { 
 | 
        const UV_UDP_REUSEADDR: number; 
 | 
        namespace signals {} 
 | 
        const signals: SignalConstants; 
 | 
        namespace errno { 
 | 
            const E2BIG: number; 
 | 
            const EACCES: number; 
 | 
            const EADDRINUSE: number; 
 | 
            const EADDRNOTAVAIL: number; 
 | 
            const EAFNOSUPPORT: number; 
 | 
            const EAGAIN: number; 
 | 
            const EALREADY: number; 
 | 
            const EBADF: number; 
 | 
            const EBADMSG: number; 
 | 
            const EBUSY: number; 
 | 
            const ECANCELED: number; 
 | 
            const ECHILD: number; 
 | 
            const ECONNABORTED: number; 
 | 
            const ECONNREFUSED: number; 
 | 
            const ECONNRESET: number; 
 | 
            const EDEADLK: number; 
 | 
            const EDESTADDRREQ: number; 
 | 
            const EDOM: number; 
 | 
            const EDQUOT: number; 
 | 
            const EEXIST: number; 
 | 
            const EFAULT: number; 
 | 
            const EFBIG: number; 
 | 
            const EHOSTUNREACH: number; 
 | 
            const EIDRM: number; 
 | 
            const EILSEQ: number; 
 | 
            const EINPROGRESS: number; 
 | 
            const EINTR: number; 
 | 
            const EINVAL: number; 
 | 
            const EIO: number; 
 | 
            const EISCONN: number; 
 | 
            const EISDIR: number; 
 | 
            const ELOOP: number; 
 | 
            const EMFILE: number; 
 | 
            const EMLINK: number; 
 | 
            const EMSGSIZE: number; 
 | 
            const EMULTIHOP: number; 
 | 
            const ENAMETOOLONG: number; 
 | 
            const ENETDOWN: number; 
 | 
            const ENETRESET: number; 
 | 
            const ENETUNREACH: number; 
 | 
            const ENFILE: number; 
 | 
            const ENOBUFS: number; 
 | 
            const ENODATA: number; 
 | 
            const ENODEV: number; 
 | 
            const ENOENT: number; 
 | 
            const ENOEXEC: number; 
 | 
            const ENOLCK: number; 
 | 
            const ENOLINK: number; 
 | 
            const ENOMEM: number; 
 | 
            const ENOMSG: number; 
 | 
            const ENOPROTOOPT: number; 
 | 
            const ENOSPC: number; 
 | 
            const ENOSR: number; 
 | 
            const ENOSTR: number; 
 | 
            const ENOSYS: number; 
 | 
            const ENOTCONN: number; 
 | 
            const ENOTDIR: number; 
 | 
            const ENOTEMPTY: number; 
 | 
            const ENOTSOCK: number; 
 | 
            const ENOTSUP: number; 
 | 
            const ENOTTY: number; 
 | 
            const ENXIO: number; 
 | 
            const EOPNOTSUPP: number; 
 | 
            const EOVERFLOW: number; 
 | 
            const EPERM: number; 
 | 
            const EPIPE: number; 
 | 
            const EPROTO: number; 
 | 
            const EPROTONOSUPPORT: number; 
 | 
            const EPROTOTYPE: number; 
 | 
            const ERANGE: number; 
 | 
            const EROFS: number; 
 | 
            const ESPIPE: number; 
 | 
            const ESRCH: number; 
 | 
            const ESTALE: number; 
 | 
            const ETIME: number; 
 | 
            const ETIMEDOUT: number; 
 | 
            const ETXTBSY: number; 
 | 
            const EWOULDBLOCK: number; 
 | 
            const EXDEV: number; 
 | 
            const WSAEINTR: number; 
 | 
            const WSAEBADF: number; 
 | 
            const WSAEACCES: number; 
 | 
            const WSAEFAULT: number; 
 | 
            const WSAEINVAL: number; 
 | 
            const WSAEMFILE: number; 
 | 
            const WSAEWOULDBLOCK: number; 
 | 
            const WSAEINPROGRESS: number; 
 | 
            const WSAEALREADY: number; 
 | 
            const WSAENOTSOCK: number; 
 | 
            const WSAEDESTADDRREQ: number; 
 | 
            const WSAEMSGSIZE: number; 
 | 
            const WSAEPROTOTYPE: number; 
 | 
            const WSAENOPROTOOPT: number; 
 | 
            const WSAEPROTONOSUPPORT: number; 
 | 
            const WSAESOCKTNOSUPPORT: number; 
 | 
            const WSAEOPNOTSUPP: number; 
 | 
            const WSAEPFNOSUPPORT: number; 
 | 
            const WSAEAFNOSUPPORT: number; 
 | 
            const WSAEADDRINUSE: number; 
 | 
            const WSAEADDRNOTAVAIL: number; 
 | 
            const WSAENETDOWN: number; 
 | 
            const WSAENETUNREACH: number; 
 | 
            const WSAENETRESET: number; 
 | 
            const WSAECONNABORTED: number; 
 | 
            const WSAECONNRESET: number; 
 | 
            const WSAENOBUFS: number; 
 | 
            const WSAEISCONN: number; 
 | 
            const WSAENOTCONN: number; 
 | 
            const WSAESHUTDOWN: number; 
 | 
            const WSAETOOMANYREFS: number; 
 | 
            const WSAETIMEDOUT: number; 
 | 
            const WSAECONNREFUSED: number; 
 | 
            const WSAELOOP: number; 
 | 
            const WSAENAMETOOLONG: number; 
 | 
            const WSAEHOSTDOWN: number; 
 | 
            const WSAEHOSTUNREACH: number; 
 | 
            const WSAENOTEMPTY: number; 
 | 
            const WSAEPROCLIM: number; 
 | 
            const WSAEUSERS: number; 
 | 
            const WSAEDQUOT: number; 
 | 
            const WSAESTALE: number; 
 | 
            const WSAEREMOTE: number; 
 | 
            const WSASYSNOTREADY: number; 
 | 
            const WSAVERNOTSUPPORTED: number; 
 | 
            const WSANOTINITIALISED: number; 
 | 
            const WSAEDISCON: number; 
 | 
            const WSAENOMORE: number; 
 | 
            const WSAECANCELLED: number; 
 | 
            const WSAEINVALIDPROCTABLE: number; 
 | 
            const WSAEINVALIDPROVIDER: number; 
 | 
            const WSAEPROVIDERFAILEDINIT: number; 
 | 
            const WSASYSCALLFAILURE: number; 
 | 
            const WSASERVICE_NOT_FOUND: number; 
 | 
            const WSATYPE_NOT_FOUND: number; 
 | 
            const WSA_E_NO_MORE: number; 
 | 
            const WSA_E_CANCELLED: number; 
 | 
            const WSAEREFUSED: number; 
 | 
        } 
 | 
        namespace priority { 
 | 
            const PRIORITY_LOW: number; 
 | 
            const PRIORITY_BELOW_NORMAL: number; 
 | 
            const PRIORITY_NORMAL: number; 
 | 
            const PRIORITY_ABOVE_NORMAL: number; 
 | 
            const PRIORITY_HIGH: number; 
 | 
            const PRIORITY_HIGHEST: number; 
 | 
        } 
 | 
    } 
 | 
    const devNull: string; 
 | 
    const EOL: string; 
 | 
    /** 
 | 
     * Returns the operating system CPU architecture for which the Node.js binary was 
 | 
     * compiled. Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'mips'`,`'mipsel'`, `'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, and `'x64'`. 
 | 
     * 
 | 
     * The return value is equivalent to `process.arch`. 
 | 
     * @since v0.5.0 
 | 
     */ 
 | 
    function arch(): string; 
 | 
    /** 
 | 
     * Returns a string identifying the kernel version. 
 | 
     * 
 | 
     * On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not 
 | 
     * available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information. 
 | 
     * @since v13.11.0, v12.17.0 
 | 
     */ 
 | 
    function version(): string; 
 | 
    /** 
 | 
     * Returns a string identifying the operating system platform for which 
 | 
     * the Node.js binary was compiled. The value is set at compile time. 
 | 
     * Possible values are `'aix'`, `'darwin'`, `'freebsd'`,`'linux'`,`'openbsd'`, `'sunos'`, and `'win32'`. 
 | 
     * 
 | 
     * The return value is equivalent to `process.platform`. 
 | 
     * 
 | 
     * The value `'android'` may also be returned if Node.js is built on the Android 
 | 
     * operating system. [Android support is experimental](https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os). 
 | 
     * @since v0.5.0 
 | 
     */ 
 | 
    function platform(): NodeJS.Platform; 
 | 
    /** 
 | 
     * Returns the machine type as a string, such as arm, aarch64, mips, mips64, ppc64, ppc64le, s390, s390x, i386, i686, x86_64. 
 | 
     * 
 | 
     * On POSIX systems, the machine type is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). 
 | 
     * On Windows, `RtlGetVersion()` is used, and if it is not available, `GetVersionExW()` will be used. 
 | 
     * See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information. 
 | 
     * @since v18.9.0 
 | 
     */ 
 | 
    function machine(): string; 
 | 
    /** 
 | 
     * Returns the operating system's default directory for temporary files as a 
 | 
     * string. 
 | 
     * @since v0.9.9 
 | 
     */ 
 | 
    function tmpdir(): string; 
 | 
    /** 
 | 
     * Returns a string identifying the endianness of the CPU for which the Node.js 
 | 
     * binary was compiled. 
 | 
     * 
 | 
     * Possible values are `'BE'` for big endian and `'LE'` for little endian. 
 | 
     * @since v0.9.4 
 | 
     */ 
 | 
    function endianness(): 'BE' | 'LE'; 
 | 
    /** 
 | 
     * Returns the scheduling priority for the process specified by `pid`. If `pid` is 
 | 
     * not provided or is `0`, the priority of the current process is returned. 
 | 
     * @since v10.10.0 
 | 
     * @param [pid=0] The process ID to retrieve scheduling priority for. 
 | 
     */ 
 | 
    function getPriority(pid?: number): number; 
 | 
    /** 
 | 
     * Attempts to set the scheduling priority for the process specified by `pid`. If`pid` is not provided or is `0`, the process ID of the current process is used. 
 | 
     * 
 | 
     * The `priority` input must be an integer between `-20` (high priority) and `19`(low priority). Due to differences between Unix priority levels and Windows 
 | 
     * priority classes, `priority` is mapped to one of six priority constants in`os.constants.priority`. When retrieving a process priority level, this range 
 | 
     * mapping may cause the return value to be slightly different on Windows. To avoid 
 | 
     * confusion, set `priority` to one of the priority constants. 
 | 
     * 
 | 
     * On Windows, setting priority to `PRIORITY_HIGHEST` requires elevated user 
 | 
     * privileges. Otherwise the set priority will be silently reduced to`PRIORITY_HIGH`. 
 | 
     * @since v10.10.0 
 | 
     * @param [pid=0] The process ID to set scheduling priority for. 
 | 
     * @param priority The scheduling priority to assign to the process. 
 | 
     */ 
 | 
    function setPriority(priority: number): void; 
 | 
    function setPriority(pid: number, priority: number): void; 
 | 
} 
 | 
declare module 'node:os' { 
 | 
    export * from 'os'; 
 | 
} 
 |