Interfaces define object shapes, similar to type aliases:
interface User {
name: string;
age: number;
}
function greet(user: User) {
return `Hello, ${user.name}`;
}
Interfaces can be extended and merged. Use them for public APIs and when you might extend later.