import type { IEventHandler } from '../events'; /** * A specialized interface for handling properties changed events. * @template T The type whose properties may change. */ export interface IPropertiesChangedEventHandler extends IEventHandler { /** * The method that handles the event. * @param subject The object whose properties may have changed. * @param changedProperties The properties that may have changed. */ handle(subject: T, changedProperties: readonly (keyof T)[]): void; }