TypeScript Interfaces Class Interface


Declare public variables and methods type in the interface to define how other typescript code can interact with it.

interface ISampleClassInterface {
  sampleVariable: string;

  sampleMethod(): void;
  optionalVariable?: string;

Here we create a class that implements the interface.

class SampleClass implements ISampleClassInterface {
  public sampleVariable: string;
  private answerToLifeTheUniverseAndEverything: number;

  constructor() {
    this.sampleVariable = 'string value';
    this.answerToLifeTheUniverseAndEverything = 42;

  public sampleMethod(): void {
    // do nothing
  private answer(q: any): number {
    return this.answerToLifeTheUniverseAndEverything;

The example shows how to create an interface ISampleClassInterface and a class SampleClass that implements the interface.