How can parent component recognise type of let-content which comes from ngTemplateOutletContext? Now {{content.type}} works correctly, but IDE says: unresolved variable type How can I type it as Video? parent.component.ts: export interface Video { id: number; duration: number; type: string; } public videos: Video = [{id: 1, duration: 30, type: 'documentary'}]; parent.component.html: <ul> <li *ngFor="let video of videos"> <tile [bodyTemplate]="tileTemplate" [content]="video"></app-card> </li> </ul> <ng-template #tileTemplate let-content> <h5 class="tile__type">{{content.type}}</h5> </ng-template> tile.component.ts: @Component({ selector: 'tile', templateUrl: './tile.component.html', styleUrls: ['./tile.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, }) export class CardComponent { @Input() tileTemplate: TemplateRef<any>; @Input() content: Video; } tile.component.html: <div ... <ng-container [ngTemplateOutlet]="tileTemplate" [ngTemplateOutletContext]="{ $implicit: content }"> </ng-container> ... </div> Continue reading...