You can use type aliases along with an intersection on the Partial type:

type First = {
    type1: string;
    type2: string;
}

type Second = Partial<First> & {
    type3: string;
    type4: string;
}
Answer from Nitzan Tomer on Stack Overflow
🌐
TypeScript Tutorial
typescripttutorial.net › home › typescript tutorial › how to extend interfaces in typescript
TypeScript Extend Interface
August 10, 2023 - In this example, the interface D extends the interfaces B and C. So D has all the methods of B and C interfaces, which are a(), b(), and c() methods. TypeScript allows an interface to extend a class. In this case, the interface inherits the properties and methods of the class.
Discussions

Allow extending multiple interfaces with different, but compatible types
The reason why I want this to be ... multiple interfaces of the same kind of change during different stages: raw change, change, broadcast change. And having to duplicate part of the "extension" on every of them doesn't look good. ... Needs ProposalThis issue needs a plan that clarifies the finer details of how it could be implemented.This issue needs a plan that clarifies the finer details of how it could be implemented.SuggestionAn idea for TypeScriptAn idea for ... More on github.com
🌐 github.com
30
July 5, 2017
Why intersection when you can extend?
did you do a quick search for this? you should quickly get some results, like this on https://stackoverflow.com/a/52681859 More on reddit.com
🌐 r/typescript
22
12
April 10, 2021
How can I extend global interface?
Why is your interface named Windows? More on reddit.com
🌐 r/typescript
6
2
June 8, 2024
How do i make typescript not ignore properties that i haven't defined in a type ?
Doing so is really bad practice. The whole point is that you define exactly what you expect and what type it is, and using a hack to allow you to use properties before you've properly typed them is going to lead to extremely sloppy code. You may aswell write javascript at that point. More on reddit.com
🌐 r/typescript
19
7
May 12, 2024
🌐
typescriptlang.org
typescriptlang.org › docs › handbook › 2 › objects.html
TypeScript: Documentation - Object Types
The extends keyword on an interface allows us to effectively copy members from other named types, and add whatever new members we want. This can be useful for cutting down the amount of type declaration boilerplate we have to write, and for signaling intent that several different declarations ...
🌐
Medium
medium.com › @AlexanderObregon › what-happens-when-you-extend-interfaces-in-typescript-ad2cf0f43cfb
What Happens When You Extend Interfaces in TypeScript
July 18, 2025 - When you extend an interface in TypeScript, you’re not calling some function or adding inheritance logic like you would in a class. You’re telling the type system to combine structures. This happens entirely at compile time.
🌐
Tektutorialshub
tektutorialshub.com › home › typescript › extend interface in typescript
Extend Interface in TypeScript - Tektutorialshub
March 15, 2023 - We extend Interface in TypeScript to include other interfaces. This creates new a interface consisting of definitions from other interfaces.
🌐
Graphite
graphite.com › guides › extending-types-typescript
Extending types in TypeScript
Interfaces in TypeScript are a powerful way to define contracts within your code and they can be extended using the extends keyword.
Find elsewhere
🌐
Convex
convex.dev › core concepts › object-oriented programming (oop) › extend interface
Extend Interface | TypeScript Guide by Convex
This guide covers practical extension ... day in real applications. To add new properties to an interface in TypeScript, use the extends keyword:...
🌐
LogRocket
blog.logrocket.com › home › extending object-like types with interfaces in typescript
Extending object-like types with interfaces in TypeScript - LogRocket Blog
June 4, 2024 - In a later section, we’ll look at how to take advantage of declaration merging and some cases of when we might want to. We can use the extend keyword in TypeScript to inherit all the properties from an existing interface.
🌐
GeeksforGeeks
geeksforgeeks.org › typescript › how-to-extend-an-interface-from-a-class-in-typescript
How to Extend an Interface from a class in TypeScript ? - GeeksforGeeks
September 12, 2025 - In TypeScript, an interface can extend a class. This means the interface inherits the class’s properties and methods .
🌐
DEV Community
dev.to › tomoy › interface-extendingmerging-in-typescript-3fjb
Interface Extensions/Merging in TypeScript - DEV Community
March 28, 2023 - As you can see above, "electricity" is assignable to the literal union type, "gas" | "electricity", because "electricity" is included in the union type. Thus, it’s possible to make ElectricCar by extending the Car interface. On the other hand, the TypeScript type checker yells at you when making the FuturisticCar interface because "air" is not included in "gas" | "electricity”.
🌐
Scaler
scaler.com › home › topics › typescript › extending interfaces
Extending Interfaces - Scaler Topics
May 4, 2023 - It can provide a data type for JavaScript to convert into a strongly typed programming language, which JavaScript can not handle since it contains an extended type that can be used to extend a type into a typescript using the 'extend' keyword.
🌐
smnh
smnh.me › extending-typescript-interfaces-and-type-aliases-with-common-properties
Extending TypeScript Interfaces and Type Aliases with common properties - smnh
interface IExtendBase extends IBase { prop_a?: string; prop_b: string; prop_new: string; } If you try that, you will see the following TypeScript error:
🌐
GitHub
github.com › microsoft › TypeScript › issues › 16936
Allow extending multiple interfaces with different, but compatible types · Issue #16936 · microsoft/TypeScript
July 5, 2017 - Needs ProposalThis issue needs a plan that clarifies the finer details of how it could be implemented.This issue needs a plan that clarifies the finer details of how it could be implemented.SuggestionAn idea for TypeScriptAn idea for TypeScript ... interface Change { uid: string; type: string; } interface SomeChangeExtension { type: 'some'; foo: number; } interface SomeChange extends Change, SomeChangeExtension { }
Author   vilicvane
🌐
W3Schools
w3schools.com › typescript › typescript_aliases_and_interfaces.php
TypeScript Type Aliases and Interfaces
Extending an interface means you are creating a new interface with the same properties as the original, plus something new.
🌐
Prismic
prismic.io › blog › typescript-interfaces
TypeScript Interfaces: A Practical Guide with Code Examples
September 28, 2023 - This can be achieved by using the extends keyword. This allows you to take an existing interface and create a copy of it while also adding new fields to it.
🌐
Compiletab
compiletab.com › posts › how to extend multiple interfaces in typescript?
How to extend multiple interfaces in TypeScript? | CompileTab
February 6, 2023 - It is possible to inherit one interface from another using the extends keyword. This makes it possible to extend multiple interfaces in Typescript. Let’s look at how to implement this in Typescript. interface Name { name: string; } interface Weight { weight: number; } interface Height { height: ...