/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * Additional `EventTarget` methods added by `Zone.js`. * * 1. removeAllListeners, remove all event listeners of the given event name. * 2. eventListeners, get all event listeners of the given event name. */ interface EventTarget { /** * * Remove all event listeners by name for this event target. * * This method is optional because it may not be available if you use `noop zone` when * bootstrapping Angular application or disable the `EventTarget` monkey patch by `zone.js`. * * If the `eventName` is provided, will remove event listeners of that name. * If the `eventName` is not provided, will remove all event listeners associated with * `EventTarget`. * * @param eventName the name of the event, such as `click`. This parameter is optional. */ removeAllListeners?(eventName?: string): void; /** * * Retrieve all event listeners by name. * * This method is optional because it may not be available if you use `noop zone` when * bootstrapping Angular application or disable the `EventTarget` monkey patch by `zone.js`. * * If the `eventName` is provided, will return an array of event handlers or event listener * objects of the given event. * If the `eventName` is not provided, will return all listeners. * * @param eventName the name of the event, such as click. This parameter is optional. */ eventListeners?(eventName?: string): EventListenerOrEventListenerObject[]; }