import { CoreStart , CoreSetup , Plugin , PluginInitializerContext } from 'src/core/public' ; import { SharePluginStart , SharePluginSetup } from '../../../../src/plugins/share/public' ; import { EmbeddableSetup , EmbeddableStart } from '../../../../src/plugins/embeddable/public' ; import { DashboardDrilldownsService } from './services' ; import { DataPublicPluginStart } from '../../../../src/plugins/data/public' ; import { AdvancedUiActionsSetup , AdvancedUiActionsStart } from '../../ui_actions_enhanced/public' ; import { DashboardStart } from '../../../../src/plugins/dashboard/public' ; export interface SetupDependencies { uiActionsEnhanced : AdvancedUiActionsSetup ; embeddable : EmbeddableSetup ; share : SharePluginSetup ; } export interface StartDependencies { uiActionsEnhanced : AdvancedUiActionsStart ; data : DataPublicPluginStart ; embeddable : EmbeddableStart ; share : SharePluginStart ; dashboard : DashboardStart ; } export interface SetupContract { } export interface StartContract { } export class DashboardEnhancedPlugin implements Plugin < SetupContract , StartContract , SetupDependencies , StartDependencies > { public readonly drilldowns = new DashboardDrilldownsService ( ) ; constructor ( protected readonly context ) { } public setup ( core , plugins ) { this . drilldowns . bootstrap ( core , plugins , { enableDrilldowns : true , } ) ; return { } ; } public start ( core , plugins ) { return { } ; } public stop ( ) { } }