import type { DockviewApi, DockviewGroupPanel, IContentRenderer, IDockviewGroupPanel, IGroupDragGhostRenderer, IGroupHeaderProps, IHeaderActionsRenderer, ITabGroupChipRenderer, ITabGroup, ITabRenderer, IWatermarkRenderer, IContextMenuItemRenderer, IContextMenuItemComponentProps, PanelUpdateEvent, Parameters, TabPartInitParameters, WatermarkRendererInitParameters } from 'dockview-core'; import { type ComponentOptionsBase, type DefineComponent, type ComponentInternalInstance } from 'vue'; export type ComponentInterface = ComponentOptionsBase; export type VueComponent = DefineComponent; export declare function findComponent(parent: ComponentInternalInstance, name: string, components?: Record): VueComponent | null; export declare function resolveComponent(value: string | VueComponent | undefined, parent: ComponentInternalInstance, components?: Record): VueComponent | undefined; /** * @see https://vuejs.org/api/render-function.html#clonevnode * @see https://vuejs.org/api/render-function.html#mergeprops */ export declare function mountVueComponent>(component: VueComponent, parent: ComponentInternalInstance, props: T, element: HTMLElement): { update: (newProps: any) => void; dispose: () => void; }; declare abstract class AbstractVueRenderer { protected readonly component: VueComponent; protected readonly parent: ComponentInternalInstance; protected readonly _element: HTMLElement; get element(): HTMLElement; constructor(component: VueComponent, parent: ComponentInternalInstance); } export declare class VueRenderer extends AbstractVueRenderer implements ITabRenderer, IContentRenderer { private _renderDisposable; private _api; private _containerApi; init(parameters: TabPartInitParameters): void; update(event: PanelUpdateEvent): void; dispose(): void; } export declare class VueWatermarkRenderer extends AbstractVueRenderer implements IWatermarkRenderer { private _renderDisposable; get element(): HTMLElement; init(parameters: WatermarkRendererInitParameters): void; update(event: PanelUpdateEvent): void; dispose(): void; } export declare class VueHeaderActionsRenderer extends AbstractVueRenderer implements IHeaderActionsRenderer { private readonly group; private _renderDisposable; private readonly _mutableDisposable; private _baseProps; get element(): HTMLElement; constructor(component: VueComponent, parent: ComponentInternalInstance, group: DockviewGroupPanel); init(props: IGroupHeaderProps): void; dispose(): void; private buildEnrichedProps; private updateProps; private updateLocation; } export declare class VueContextMenuItemRenderer extends AbstractVueRenderer implements IContextMenuItemRenderer { private _renderDisposable; init(props: IContextMenuItemComponentProps): void; dispose(): void; } export declare class VueTabGroupChipRenderer extends AbstractVueRenderer implements ITabGroupChipRenderer { private _renderDisposable; get element(): HTMLElement; constructor(component: VueComponent, parent: ComponentInternalInstance); init(params: { tabGroup: ITabGroup; api: DockviewApi; }): void; update(params: { tabGroup: ITabGroup; }): void; dispose(): void; } export declare class VueGroupDragGhostRenderer extends AbstractVueRenderer implements IGroupDragGhostRenderer { private _renderDisposable; constructor(component: VueComponent, parent: ComponentInternalInstance); init(params: { group: IDockviewGroupPanel; api: DockviewApi; }): void; dispose(): void; } export declare class VuePart = any> { private readonly element; private readonly vueComponent; private readonly parent; private props; private _renderDisposable; constructor(element: HTMLElement, vueComponent: VueComponent, parent: ComponentInternalInstance, props: T); init(): void; update(props: T): void; dispose(): void; } export {};