import type { CoreSetup , CoreStart , Plugin , PluginInitializerContext } from 'src/core/public' ; import React from 'react' ; import ReactDOM from 'react-dom' ; import { App } from './app' ; import { ConfigType } from './config' ; export class PrebootExamplePlugin implements Plugin < void , void , { } , { } > { #config : ConfigType ; constructor ( initializerContext ) { this . #config = initializerContext . config . get < ConfigType > ( ) ; } public setup ( core ) { core . application . register ( { id : 'prebootExample' , title : 'Preboot Example' , appRoute : '/' , chromeless : true , mount : ( params ) => { ReactDOM . render ( < App http = { core . http } token = { this . #config . token } / > , params . element ) ; return ( ) => ReactDOM . unmountComponentAtNode ( params . element ) ; } , } ) ; } public start ( core ) { } }