Assertions in a .d.ts are inert under skipLibCheck: true, which the root tsconfig sets. Proven during implementation by forcing skipLibCheck: false, where the same assertion fires as TS2344. They move to a generated .ts file, which skipLibCheck does not exempt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>