/**
 * The Kibana Core APIs for server-side plugins.
 *
 * A plugin requires a `kibana.json` file at it's root directory that follows
 *  PluginManifest to define static plugin
 * information required to load the plugin.
 *
 * A plugin's `server/index` file must contain a named import, `plugin`, that
 * implements  PluginInitializer which returns an object that implements
 *  Plugin .
 *
 * The plugin integrates with the core system via lifecycle events: `setup`,
 * `start`, and `stop`. In each lifecycle method, the plugin will receive the
 * corresponding core services available (either  CoreSetup or
 *  CoreStart ) and any interfaces returned by dependency plugins'
 * lifecycle method. Anything returned by the plugin's lifecycle method will be
 * exposed to downstream dependencies when their corresponding lifecycle methods
 * are invoked.
 *
 *  packageDocumentation import { Type } from '@kbn/config-schema' ; import { ElasticsearchServiceSetup , configSchema as elasticsearchConfigSchema , ElasticsearchServiceStart , IScopedClusterClient , ElasticsearchServicePreboot , } from './elasticsearch' ; import { HttpServicePreboot , HttpServiceSetup , HttpServiceStart } from './http' ; import { HttpResources } from './http_resources' ; import { PluginsServiceSetup , PluginsServiceStart , PluginOpaqueId } from './plugins' ; import { ContextSetup } from './context' ; import { IUiSettingsClient , UiSettingsServiceSetup , UiSettingsServiceStart } from './ui_settings' ; import { SavedObjectsClientContract } from './saved_objects/types' ; import { ISavedObjectTypeRegistry , SavedObjectsServiceSetup , SavedObjectsServiceStart , ISavedObjectsExporter , ISavedObjectsImporter , SavedObjectsClientProviderOptions , } from './saved_objects' ; import { CapabilitiesSetup , CapabilitiesStart } from './capabilities' ; import { MetricsServiceSetup , MetricsServiceStart } from './metrics' ; import { StatusServiceSetup } from './status' ; import { AppenderConfigType , appendersSchema , LoggingServiceSetup } from './logging' ; import { CoreUsageDataStart , CoreUsageDataSetup } from './core_usage_data' ; import { I18nServiceSetup } from './i18n' ; import { DeprecationsServiceSetup , DeprecationsClient } from './deprecations' ; import { CoreUsageStats , CoreUsageData , CoreConfigUsageData , ConfigUsageData , CoreEnvironmentUsageData , CoreServicesUsageData , } from './core_usage_data' ; import { PrebootServicePreboot } from './preboot' ; export type { PrebootServicePreboot } from './preboot' ; export type { CoreUsageStats , CoreUsageData , CoreConfigUsageData , CoreEnvironmentUsageData , CoreServicesUsageData , ConfigUsageData , } ; import type { ExecutionContextSetup , ExecutionContextStart } from './execution_context' ; export type { IExecutionContextContainer , KibanaExecutionContext } from './execution_context' ; export { bootstrap } from './bootstrap' ; export type { Capabilities , CapabilitiesProvider , CapabilitiesSwitcher , ResolveCapabilitiesOptions , } from './capabilities' ; export type { ConfigPath , ConfigService , ConfigDeprecation , ConfigDeprecationContext , ConfigDeprecationProvider , ConfigDeprecationFactory , AddConfigDeprecation , EnvironmentMode , PackageInfo , } from './config' ; export type { IContextContainer , IContextProvider , HandlerFunction , HandlerContextType , HandlerParameters , } from './context' ; export type { CoreId } from './core_context' ; export { CspConfig } from './csp' ; export type { ICspConfig } from './csp' ; export { ElasticsearchConfig , pollEsNodesVersion } from './elasticsearch' ; export type { ElasticsearchServicePreboot , ElasticsearchServiceSetup , ElasticsearchServiceStart , ElasticsearchStatusMeta , NodesVersionCompatibility , FakeRequest , ScopeableRequest , ElasticsearchClient , IClusterClient , ICustomClusterClient , ElasticsearchClientConfig , IScopedClusterClient , SearchResponse , CountResponse , ShardsInfo , ShardsResponse , GetResponse , DeleteDocumentResponse , ElasticsearchConfigPreboot , ElasticsearchErrorDetails , PollEsNodesVersionOptions , } from './elasticsearch' ; export type { IExternalUrlConfig , IExternalUrlPolicy } from './external_url' ; export type { AuthenticationHandler , AuthHeaders , AuthResultParams , AuthStatus , AuthToolkit , AuthRedirected , AuthRedirectedParams , AuthResult , AuthResultType , Authenticated , AuthNotHandled , BasePath , IBasePath , CustomHttpResponseOptions , GetAuthHeaders , GetAuthState , Headers , HttpAuth , HttpResponseOptions , HttpResponsePayload , HttpServerInfo , HttpServicePreboot , HttpServiceSetup , HttpServiceStart , ErrorHttpResponseOptions , IKibanaSocket , IsAuthenticated , KibanaRequestEvents , KibanaRequestRoute , KibanaRequestRouteOptions , IKibanaResponse , LifecycleResponseFactory , KnownHeaders , OnPreAuthHandler , OnPreAuthToolkit , OnPreRoutingHandler , OnPreRoutingToolkit , OnPostAuthHandler , OnPostAuthToolkit , OnPreResponseHandler , OnPreResponseToolkit , OnPreResponseRender , OnPreResponseExtensions , OnPreResponseInfo , RedirectResponseOptions , RequestHandler , RequestHandlerWrapper , RequestHandlerContextContainer , RequestHandlerContextProvider , ResponseError , ResponseErrorAttributes , ResponseHeaders , KibanaResponseFactory , RouteConfig , IRouter , RouteRegistrar , RouteMethod , RouteConfigOptions , RouteConfigOptionsBody , RouteContentType , RouteValidatorConfig , RouteValidationSpec , RouteValidationFunction , RouteValidatorOptions , RouteValidatorFullConfig , RouteValidationResultFactory , RouteValidationError , SessionStorage , SessionStorageCookieOptions , SessionCookieValidationResult , SessionStorageFactory , DestructiveRouteMethod , SafeRouteMethod , } from './http' ; export { KibanaRequest , kibanaResponseFactory , validBodyOutput } from './http' ; export type { HttpResourcesRenderOptions , HttpResourcesResponseOptions , HttpResourcesServiceToolkit , HttpResourcesRequestHandler , } from './http_resources' ; export type { IRenderOptions } from './rendering' ; export type { Logger , LoggerFactory , Ecs , EcsEventCategory , EcsEventKind , EcsEventOutcome , EcsEventType , LogMeta , LogRecord , LogLevel , LoggingServiceSetup , LoggerContextConfigInput , LoggerConfigType , AppenderConfigType , } from './logging' ; export { PluginType } from './plugins' ; export type { DiscoveredPlugin , PrebootPlugin , Plugin , AsyncPlugin , PluginConfigDescriptor , PluginConfigSchema , PluginInitializer , PluginInitializerContext , PluginManifest , PluginName , SharedGlobalConfig , MakeUsageFromSchema , } from './plugins' ; export { SavedObjectsClient , SavedObjectsErrorHelpers , SavedObjectsSerializer , SavedObjectTypeRegistry , SavedObjectsUtils , } from './saved_objects' ; export type { SavedObjectsBulkCreateObject , SavedObjectsBulkGetObject , SavedObjectsBulkUpdateObject , SavedObjectsBulkUpdateOptions , SavedObjectsBulkResponse , SavedObjectsBulkUpdateResponse , SavedObjectsCheckConflictsObject , SavedObjectsCheckConflictsResponse , SavedObjectsClientProviderOptions , SavedObjectsClientWrapperFactory , SavedObjectsClientWrapperOptions , SavedObjectsClientFactory , SavedObjectsClientFactoryProvider , SavedObjectsClosePointInTimeOptions , SavedObjectsClosePointInTimeResponse , ISavedObjectsPointInTimeFinder , SavedObjectsCreatePointInTimeFinderDependencies , SavedObjectsCreatePointInTimeFinderOptions , SavedObjectsCreateOptions , SavedObjectTypeExcludeFromUpgradeFilterHook , SavedObjectsExportResultDetails , SavedObjectsExportExcludedObject , SavedObjectsFindResult , SavedObjectsFindResponse , SavedObjectsImportConflictError , SavedObjectsImportAmbiguousConflictError , SavedObjectsImportFailure , SavedObjectsImportMissingReferencesError , SavedObjectsImportOptions , SavedObjectsImportResponse , SavedObjectsImportRetry , SavedObjectsImportSuccess , SavedObjectsImportUnknownError , SavedObjectsImportUnsupportedTypeError , SavedObjectMigrationContext , SavedObjectsMigrationLogger , SavedObjectsOpenPointInTimeOptions , SavedObjectsOpenPointInTimeResponse , SavedObjectsRawDoc , SavedObjectsRawDocParseOptions , SavedObjectSanitizedDoc , SavedObjectUnsanitizedDoc , SavedObjectsRepositoryFactory , SavedObjectsResolveImportErrorsOptions , SavedObjectsBulkResolveObject , SavedObjectsBulkResolveResponse , SavedObjectsResolveResponse , SavedObjectsUpdateOptions , SavedObjectsUpdateResponse , SavedObjectsRemoveReferencesToOptions , SavedObjectsRemoveReferencesToResponse , SavedObjectsCollectMultiNamespaceReferencesObject , SavedObjectsCollectMultiNamespaceReferencesOptions , SavedObjectReferenceWithContext , SavedObjectsCollectMultiNamespaceReferencesResponse , SavedObjectsUpdateObjectsSpacesObject , SavedObjectsUpdateObjectsSpacesOptions , SavedObjectsUpdateObjectsSpacesResponse , SavedObjectsUpdateObjectsSpacesResponseObject , SavedObjectsServiceStart , SavedObjectsServiceSetup , SavedObjectStatusMeta , SavedObjectsDeleteOptions , ISavedObjectsRepository , SavedObjectsRepository , SavedObjectsDeleteByNamespaceOptions , SavedObjectsIncrementCounterOptions , SavedObjectsIncrementCounterField , SavedObjectsFieldMapping , SavedObjectsTypeMappingDefinition , SavedObjectsMappingProperties , ISavedObjectTypeRegistry , SavedObjectsNamespaceType , SavedObjectsType , SavedObjectsTypeManagementDefinition , SavedObjectMigrationMap , SavedObjectMigrationFn , SavedObjectsExporter , ISavedObjectsExporter , SavedObjectExportBaseOptions , SavedObjectsExportByObjectOptions , SavedObjectsExportByTypeOptions , SavedObjectsExportError , SavedObjectsExportTransform , SavedObjectsExportTransformContext , SavedObjectsImporter , ISavedObjectsImporter , SavedObjectsImportError , SavedObjectsImportHook , SavedObjectsImportHookResult , SavedObjectsImportSimpleWarning , SavedObjectsImportActionRequiredWarning , SavedObjectsImportWarning , SavedObjectsValidationMap , SavedObjectsValidationSpec , } from './saved_objects' ; export type { IUiSettingsClient , UiSettingsParams , PublicUiSettingsParams , UiSettingsType , UiSettingsServiceSetup , UiSettingsServiceStart , UserProvidedValues , DeprecationSettings , } from './ui_settings' ; export type { OpsMetrics , OpsOsMetrics , OpsServerMetrics , OpsProcessMetrics , MetricsServiceSetup , MetricsServiceStart , IntervalHistogram , } from './metrics' ; export { EventLoopDelaysMonitor } from './metrics' ; export type { I18nServiceSetup } from './i18n' ; export type { BaseDeprecationDetails , DeprecationsDetails , ConfigDeprecationDetails , FeatureDeprecationDetails , RegisterDeprecationsConfig , GetDeprecationsContext , DeprecationsServiceSetup , DeprecationsClient , } from './deprecations' ; export type { AppCategory } from '../types' ; export { DEFAULT_APP_CATEGORIES , APP_WRAPPER_CLASS } from '../utils' ; export type { SavedObject , SavedObjectAttribute , SavedObjectAttributes , SavedObjectAttributeSingle , SavedObjectReference , SavedObjectsBaseOptions , MutatingOperationRefreshSetting , SavedObjectsClientContract , SavedObjectsFindOptions , SavedObjectsFindOptionsReference , SavedObjectsPitParams , SavedObjectsMigrationVersion , } from './types' ; export { ServiceStatusLevels } from './status' ; export type { CoreStatus , ServiceStatus , ServiceStatusLevel , StatusServiceSetup } from './status' ; export type { CoreUsageDataSetup , CoreUsageDataStart , CoreUsageCounter , CoreIncrementUsageCounter , CoreIncrementCounterParams , } from './core_usage_data' ; /**
 * Plugin specific context passed to a route handler.
 *
 * Provides the following clients and services:
 *    -  SavedObjectsClient - Saved Objects client
 *      which uses the credentials of the incoming request
 *    -  ISavedObjectTypeRegistry - Type registry containing
 *      all the registered types.
 *    -  IScopedClusterClient - Elasticsearch
 *      data client which uses the credentials of the incoming request
 *    -  IUiSettingsClient - uiSettings client
 *      which uses the credentials of the incoming request
 *
 *  public export interface RequestHandlerContext { core : { savedObjects : { client : SavedObjectsClientContract ; typeRegistry : ISavedObjectTypeRegistry ; getClient : ( options ? : SavedObjectsClientProviderOptions ) => SavedObjectsClientContract ; getExporter : ( client : SavedObjectsClientContract ) => ISavedObjectsExporter ; getImporter : ( client : SavedObjectsClientContract ) => ISavedObjectsImporter ; } ; elasticsearch : { client : IScopedClusterClient ; } ; uiSettings : { client : IUiSettingsClient ; } ; deprecations : { client : DeprecationsClient ; } ; } ; } public export interface CorePreboot { /**  ElasticsearchServicePreboot elasticsearch : ElasticsearchServicePreboot ; /**  HttpServicePreboot http : HttpServicePreboot ; /**  PrebootServicePreboot preboot : PrebootServicePreboot ; } typeParam TPluginsStart - the type of the consuming plugin's start dependencies. Should be the same
 *                            as the consuming  Plugin 's `TPluginsStart` type. Used by `getStartServices`.
 *  typeParam TStart - the type of the consuming plugin's start contract. Should be the same as the
 *                     consuming  Plugin 's `TStart` type. Used by `getStartServices`.
 *  public export interface CoreSetup < TPluginsStart extends object = object , TStart = unknown > { /**  CapabilitiesSetup capabilities : CapabilitiesSetup ; /**  ContextSetup context : ContextSetup ; /**  ElasticsearchServiceSetup elasticsearch : ElasticsearchServiceSetup ; /**  ExecutionContextSetup executionContext : ExecutionContextSetup ; /**  HttpServiceSetup http : HttpServiceSetup & { /**  HttpResources resources : HttpResources ; } ; /**  I18nServiceSetup i18n : I18nServiceSetup ; /**  LoggingServiceSetup logging : LoggingServiceSetup ; /**  MetricsServiceSetup metrics : MetricsServiceSetup ; /**  SavedObjectsServiceSetup savedObjects : SavedObjectsServiceSetup ; /**  StatusServiceSetup status : StatusServiceSetup ; /**  UiSettingsServiceSetup uiSettings : UiSettingsServiceSetup ; /**  DeprecationsServiceSetup deprecations : DeprecationsServiceSetup ; /**  StartServicesAccessor getStartServices : StartServicesAccessor < TPluginsStart , TStart > ; internal CoreUsageDataSetup coreUsageData : CoreUsageDataSetup ; } public export type StartServicesAccessor < TPluginsStart extends object = object , TStart = unknown > = ( ) => Promise < [ CoreStart , TPluginsStart , TStart ] > ; public export interface CoreStart { /**  CapabilitiesStart capabilities : CapabilitiesStart ; /**  ElasticsearchServiceStart elasticsearch : ElasticsearchServiceStart ; /**  ExecutionContextStart executionContext : ExecutionContextStart ; /**  HttpServiceStart http : HttpServiceStart ; /**  MetricsServiceStart metrics : MetricsServiceStart ; /**  SavedObjectsServiceStart savedObjects : SavedObjectsServiceStart ; /**  UiSettingsServiceStart uiSettings : UiSettingsServiceStart ; internal CoreUsageDataStart coreUsageData : CoreUsageDataStart ; } export type { CapabilitiesSetup , CapabilitiesStart , ContextSetup , ExecutionContextSetup , ExecutionContextStart , HttpResources , PluginsServiceSetup , PluginsServiceStart , PluginOpaqueId , } ; alpha export const config = { elasticsearch : { schema : elasticsearchConfigSchema , } , logging : { appenders : appendersSchema as Type < AppenderConfigType > , } , } ;