import { JQueryFnsWrapper } from 'ngx-malihu-scrollbar-ex/jquery-fns/core'; import type { WrapperExtends } from 'ngx-malihu-scrollbar-ex/jquery-fns/core'; export declare type WrappedEvent = E & WrapperEvent; declare type EventCallback = (this: HTMLElement, event: WrappedEvent, ...extra: any[]) => void; declare type EventArgsConverter = (this: JQueryFnsWrapper, event: E) => Event | WrapperEvent | [Event | WrapperEvent, ...any[]]; declare type SourceTypeSingle = { type: string; passive?: boolean; }; declare type SourceTypeLit = string | SourceTypeSingle | (string | SourceTypeSingle)[]; declare type SourceTypes = SourceTypeLit | ((wrapper: JQueryFnsWrapper) => SourceTypeLit); interface EventCacheRecord { event: string; namespaces: string[]; passive?: boolean; handler(ev: Event): void; } export interface EventForwardExtra { converter?: EventArgsConverter; setup?(wrapper: JQueryFnsWrapper): void; passive?: boolean; } export declare function createEventRegistry(sourceTypes: SourceTypes, targetType: string, extra?: EventForwardExtra): { register: () => void; }; export declare const $extender: WrapperExtends<{ bind(eventQuery: string, handler: EventCallback): EventCacheRecord[]; unbind(eventQuery: string): void; }>; export declare class WrapperEvent { readonly originalEvent: E; static overrideFields: string[]; static create(originalEvent: E, type?: string): Record & WrappedEvent; type: string; isDefaultPrevented: () => boolean; target: EventTarget; currentTarget: EventTarget; relatedTarget: EventTarget; timeStamp: number; isSimulated: boolean; constructor(originalEvent: E); isPropagationStopped: () => boolean; isImmediatePropagationStopped: () => boolean; preventDefault: () => void; stopPropagation: () => void; stopImmediatePropagation: () => void; } export {};