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;
|
}
|