// A type-safe Omit that ensures K are actual keys of T type StrictOmit = Pick>; interface Product { id: string; name: string; price: number; description: string; createdAt: Date; } // Valid: Omitting existing keys type ProductSummary = StrictOmit; const summary: ProductSummary = { id: 'prod-001', name: 'Laptop', price: 1200 }; // Error: Type 'nonExistentKey' does not satisfy the constraint 'keyof Product'. // type InvalidOmit = StrictOmit; // console.log(summary);