/** * * [Live Demo](https://primevue.org/) * * @module basedirective * */ import { DirectiveBinding, VNode } from 'vue'; export interface DirectiveInstance { $name: string | undefined; $host: T; $binding: DirectiveBinding; $el: HTMLElement | undefined; $css?: { classes?: undefined; inlineStyles?: undefined; loadStyle?: () => void; }; defaultPT: any; isUnstyled: boolean; [key: string]: any; } /* All parameters passed by the directive of Vue.js */ export interface DirectiveOptions | null, V = any> { el: T; binding: DirectiveBinding; vnode: VNode; prevVNode: Prev; } export interface DirectiveHooks { onCreated?: (instance: DirectiveInstance | undefined, options: DirectiveOptions) => void; onBeforeMount?: (instance: DirectiveInstance | undefined, options: DirectiveOptions) => void; onMounted?: (instance: DirectiveInstance | undefined, options: DirectiveOptions) => void; onBeforeUpdate?: (instance: DirectiveInstance | undefined, options: DirectiveOptions, V>) => void; onUpdated?: (instance: DirectiveInstance | undefined, options: DirectiveOptions, V>) => void; onBeforeUnmount?: (instance: DirectiveInstance | undefined, options: DirectiveOptions) => void; onUnmounted?: (instance: DirectiveInstance | undefined, options: DirectiveOptions) => void; } export interface BaseDirectivePassThroughOptions { hooks?: DirectiveHooks; }