Certainly ugly, but...
type MyTuple1 = {
readonly 0: number;
readonly 1: number;
readonly length: 2;
[Symbol.iterator](): IterableIterator<number>;
};
const myTuple1 = [0, 0] as MyTuple1;
const [d, e, f] = <[number, number]><MyTuple1>myTuple1; // Error