Я пытаюсь расширить существующий интерфейс, чтобы добавить дополнительные обработчики событий. В интерфейсе, который я расширяю, уже определены несколько обработчиков событий.
Вот базовый интерфейс:
export interface Emitter {
on(event: 'connect', listener: (err: Error) => void ):this;
on(event: 'end', listener: () => void ):this;
}
Вот также базовый класс:
export class Emitter extends events.EventEmitter {}
Вот мой интерфейс:
export interface EmitterExtended extends Emitter {
on(event: 'status', listener: (status: ConnectionStatus) => void ):this;
status?: ConnectionStatus;
}
А вот ошибка машинописи дает:
Interface 'EmitterExtended' incorrectly extends interface 'Emitter'.
Types of property 'on' are incompatible.