import { CustomComponent } from './custom-component'; export interface GetIwControllerFn { , TElement extends HTMLElement = HTMLElement>(): TComponent; } export declare type JQueryPluginExtras = { [key: string]: any; }; /** * A function that is called before initializing a component plugin. * * Can be used, for example, to check compatibility of specific browser features. */ export interface JQueryPluginPreInitFn { (this: JQuery): void; } export interface JQueryPluginFn { (this: JQuery): JQuery; readonly COMPONENT_SELECTOR: string; readonly CUSTOM_COMPONENT_ATTR: string; readonly CUSTOM_COMPONENT_SELECTOR: string; } /** * Defines a custom component that requires an explicit method call to extend jQuery as a plugin. */ export interface JQueryComponentPlugin { loadPlugin(): void; } /** * Returns `true` if obj is a {@link JQueryComponentPlugin}; otherwise `false`. */ export declare function isJQueryComponentPlugin(obj: any): obj is JQueryComponentPlugin;