Interface is the set of properties, methods, indexers, and events exposed by an object that allow other objects to access its data and functionality. An object guarantees that it will support all of the elements of its interface by way of an interface contract. In C#, this contract is created by the use of the Interface keyword, which declares a reference type that encapsulates the contract.

C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development: Build applications with C#, .NET Core, Entity Framework Core, ASP.NET Core, and ML.NET using Visual Studio Code, 4th Edition
ASP.NET Core 3 and Angular 9: Full stack web development with .NET Core 3.1 and Angular 9, 3rd Edition
C# in Depth, 4th Edition