import { Fun } from '@ephox/katamari'; import * as FilteredEvent from '../../impl/FilteredEvent'; import type { SugarElement } from '../node/SugarElement'; import type { EventHandler, EventUnbinder } from './Types'; const filter = Fun.always; // no filter on plain DomEvents const bind: { (element: SugarElement, event: K, handler: EventHandler): EventUnbinder; (element: SugarElement, event: string, handler: EventHandler): EventUnbinder; } = (element: SugarElement, event: string, handler: EventHandler): EventUnbinder => FilteredEvent.bind(element, event, filter, handler); const capture: { (element: SugarElement, event: K, handler: EventHandler): EventUnbinder; (element: SugarElement, event: string, handler: EventHandler): EventUnbinder; } = (element: SugarElement, event: string, handler: EventHandler): EventUnbinder => FilteredEvent.capture(element, event, filter, handler); const fromRawEvent = FilteredEvent.fromRawEvent; export { bind, capture, fromRawEvent };