type NonFalsy = T extends false | 0 | "" | null | undefined | 0n ? never : T; interface Array { includes(searchElement: unknown, fromIndex?: number): searchElement is T; } interface ReadonlyArray { includes(searchElement: unknown, fromIndex?: number): searchElement is T; } interface Body { json(): Promise; } interface Array { filter(predicate: BooleanConstructor, thisArg?: unknown): NonFalsy[]; } interface ReadonlyArray { filter(predicate: BooleanConstructor, thisArg?: unknown): NonFalsy[]; } interface ArrayConstructor { isArray(arg: unknown): arg is unknown[]; } interface JSON { /** * Converts a JavaScript Object Notation (JSON) string into an object. * @param text A valid JSON string. * @param reviver A function that transforms the results. This function is called for each member of the object. * If a member contains nested objects, the nested objects are transformed before the parent object is. */ parse(text: string, reviver?: (this: unknown, key: string, value: unknown) => unknown): unknown; } interface Set { has(value: unknown): value is T; }