import { Component } from './component'; declare type UseDirectiveFactory = (elem: HTMLElement, param: any, host: Component) => UseDirectiveResult | undefined; interface UseDirectiveResult { update?: (param: any) => void; destroy?: () => void; } interface UseDirectiveInternal { param: any; directive?: UseDirectiveResult; } export declare function mountUse(host: Component, elem: HTMLElement, factory: UseDirectiveFactory, param?: unknown): UseDirectiveInternal; export declare function updateUse(data: UseDirectiveInternal, param?: unknown): void; export declare function unmountUse(data: UseDirectiveInternal): void; export {};