I believe the type you're looking for is `[]` (a tuple with no elements) instead of `never[]`.
https://www.typescriptlang.org/play?#code/CYUwxgNghgTiAEYD2A...
https://www.typescriptlang.org/play?#code/CYUwxgNghgTiAEYD2A...
const a = foo[1]
should result in a bring of type `never|undefined` or `undefined` depending on flow analysis