diff --git a/src/plugins/visualizations/public/vis_types/types.ts b/src/plugins/visualizations/public/vis_types/types.ts index 7f7ea39f86faf..7206e9612f102 100644 --- a/src/plugins/visualizations/public/vis_types/types.ts +++ b/src/plugins/visualizations/public/vis_types/types.ts @@ -18,14 +18,12 @@ */ import { IconType } from '@elastic/eui'; -import { EventEmitter } from 'events'; import React from 'react'; import { Adapters } from 'src/plugins/inspector'; -import { IEditorController } from 'src/plugins/visualize/public'; +import { VisEditorConstructor } from 'src/plugins/visualize/public'; import { ISchemas } from 'src/plugins/vis_default_editor/public'; import { TriggerContextMapping } from '../../../ui_actions/public'; import { Vis, VisToExpressionAst, VisualizationControllerConstructor } from '../types'; -import { VisualizeEmbeddableContract } from '..'; export interface VisTypeOptions { showTimePicker: boolean; @@ -35,13 +33,6 @@ export interface VisTypeOptions { hierarchicalData: boolean; } -export type VisEditorConstructor = new ( - element: HTMLElement, - vis: Vis, - eventEmitter: EventEmitter, - embeddableHandler: VisualizeEmbeddableContract -) => IEditorController; - /** * A visualization type representing one specific type of "classical" * visualizations (i.e. not Lens visualizations). diff --git a/src/plugins/visualize/public/application/types.ts b/src/plugins/visualize/public/application/types.ts index 1251daf429269..6cc8f5c26584a 100644 --- a/src/plugins/visualize/public/application/types.ts +++ b/src/plugins/visualize/public/application/types.ts @@ -45,6 +45,7 @@ import { SharePluginStart } from 'src/plugins/share/public'; import { SavedObjectsStart, SavedObject } from 'src/plugins/saved_objects/public'; import { EmbeddableStart } from 'src/plugins/embeddable/public'; import { UrlForwardingStart } from 'src/plugins/url_forwarding/public'; +import { EventEmitter } from 'events'; import { DashboardStart } from '../../../dashboard/public'; export type PureVisState = SavedVisState; @@ -131,6 +132,13 @@ export interface ByValueVisInstance { export type VisualizeEditorVisInstance = SavedVisInstance | ByValueVisInstance; +export type VisEditorConstructor = new ( + element: HTMLElement, + vis: Vis, + eventEmitter: EventEmitter, + embeddableHandler: VisualizeEmbeddableContract +) => IEditorController; + export interface IEditorController { render(props: EditorRenderProps): Promise | void; destroy(): void; diff --git a/src/plugins/visualize/public/index.ts b/src/plugins/visualize/public/index.ts index c80efe0adbfd8..246806f300800 100644 --- a/src/plugins/visualize/public/index.ts +++ b/src/plugins/visualize/public/index.ts @@ -20,7 +20,11 @@ import { PluginInitializerContext } from 'kibana/public'; import { VisualizePlugin } from './plugin'; -export { EditorRenderProps, IEditorController } from './application/types'; +export type { + EditorRenderProps, + IEditorController, + VisEditorConstructor, +} from './application/types'; export { VisualizeConstants } from './application/visualize_constants'; export const plugin = (context: PluginInitializerContext) => {