import { type CompleteThemeSettingsInternal, type CustomSisenseContext, type CustomWidgetsContextAdapter, type ExternalComponentAdapter } from '@sisense/sdk-ui-preact'; import { type Component, type DefineComponent, type Ref } from 'vue'; type AnyObject = Record; /** * Parent Vue contexts captured when an adapter is created and provided to the adapted component's * isolated Vue app, so it resolves Sisense, theme, and custom-widget context the same way it * would inside the host application tree. * * @internal */ export type VueComponentAdapterContexts = { sisenseContext: Ref; themeContext: Ref; customWidgetsContext: Ref; }; /** * Adapter class that manages the lifecycle of a Vue component * rendered within a Preact context. This provides efficient updates * by reusing the component instance instead of recreating it on every * props change. * * Implements ExternalComponentAdapter interface to be compatible with * the ExternalComponentAdapterElement in sdk-ui-preact. * * @internal */ export declare class VueComponentAdapter implements ExternalComponentAdapter { private componentClass; private contexts; private app; private container; private isDestroyed; private propsRef; constructor(componentClass: Component | DefineComponent, contexts: VueComponentAdapterContexts); /** * Mounts the Vue component into the container element. * This should only be called once when the Preact wrapper mounts. * * @param container - The DOM element to mount the Vue component into * @param props - Initial props to pass to the component */ mount(container: HTMLElement, props: Props): void; /** * Updates the props on the existing Vue component instance. * This triggers Vue's reactivity system to re-render the component * without destroying and recreating it. * * @param props - New props to apply to the component */ update(props: Props): void; /** * Destroys the Vue component and cleans up resources. * This should be called when the Preact wrapper unmounts. */ destroy(): void; /** * Returns whether the adapter has an active component instance. */ isActive(): boolean; } export {};