import { Plugin , CoreSetup } from 'opensearch-dashboards/public' ; export class CorePluginAPlugin implements Plugin < CorePluginAPluginSetup , CorePluginAPluginStart > { public setup ( core , deps ) { core . application . register ( { id : 'foo' , title : 'Foo' , async mount ( context , params ) { const { renderApp } = await import ( './application' ) ; return renderApp ( context , params ) ; } , } ) ; return { getGreeting ( ) { return 'Hello from Plugin A!' ; } , } ; } public start ( ) { } public stop ( ) { } } export type CorePluginAPluginSetup = ReturnType < CorePluginAPlugin [ 'setup' ] > ; export type CorePluginAPluginStart = ReturnType < CorePluginAPlugin [ 'start' ] > ;