@types/node
Version:
TypeScript definitions for node
26 lines (21 loc) • 891 B
TypeScript
export {};
import { LockManager } from "worker_threads";
// lib.webworker has `WorkerNavigator` rather than `Navigator`, so conditionals use `onabort` instead of `onmessage`
type _Navigator = typeof globalThis extends { onabort: any } ? {} : Navigator;
interface Navigator {
readonly hardwareConcurrency: number;
readonly language: string;
readonly languages: readonly string[];
readonly locks: LockManager;
readonly platform: string;
readonly userAgent: string;
}
declare global {
interface Navigator extends _Navigator {}
var Navigator: typeof globalThis extends { onabort: any; Navigator: infer T } ? T : {
prototype: Navigator;
new(): Navigator;
};
// Needs conditional inference for lib.dom and lib.webworker compatibility
var navigator: typeof globalThis extends { onmessage: any; navigator: infer T } ? T : Navigator;
}