interface FooProp { name: string; X: number; Y: number; } declare function AnotherComponent(prop: {name: string}); function ComponentFoo(prop: FooProp) { return ‹AnotherComponent name={prop.name} /›; } const Button = (prop: {value: string}, context: { color: string }) => ‹button›