Interfaces

interface ICar {
    startEngine(): boolean
    stopEngine(): void
}

class Car implements ICar {
    started = false

    startEngine(): boolean {
        if (this.started
            return false
        this.started = true
        return true
    }

    stopEngine() {
        this.started = false
    }
}

let car = new Car()
console.log(car.startEngine())
console.log(car.startEngine())