import * as vue from 'vue'; import { PropType, VNodeProps } from 'vue'; interface GlobalEventsProps { target?: Extract; filter?: EventFilter; } interface EventFilter { (event: E, listener: EventListener, name: string): unknown; } declare const GlobalEventsImpl: vue.DefineComponent<{ target: { type: StringConstructor; default: string; }; filter: { type: PropType | EventFilter[]>; default: () => () => true; }; stop: BooleanConstructor; prevent: BooleanConstructor; }, () => null, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly | EventFilter[]>; default: () => () => true; }; stop: BooleanConstructor; prevent: BooleanConstructor; }>>, { stop: boolean; filter: EventFilter | EventFilter[]; target: string; prevent: boolean; }, {}>; /** * Component of vue-lib. */ declare const GlobalEvents: new () => { $props: VNodeProps & GlobalEventsProps; }; /** * Creates a filter than can be passed to `` to exclude events from elements with the given tag names. * * @param tagNames - array of tag names to exclude */ declare function excludeElements(tagNames: Array>): (event: Event) => boolean; /** * Creates a filter than can be passed to `` to include events from elements with the given tag names. * * @see excludeElements * * @param tagNames - array of tag names to include */ declare function includeElements(tagNames: Array>): (event: Event) => boolean; type _HTMLElementNames = keyof HTMLElementTagNameMap; export { EventFilter, GlobalEvents, GlobalEventsImpl, GlobalEventsProps, _HTMLElementNames, excludeElements, includeElements };