/**
 * The OpenSearch Dashboards Core APIs for server-side plugins.
 *
 * A plugin requires a `opensearch_dashboards.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 '@osd/config-schema' ; import { OpenSearchServiceSetup , ILegacyScopedClusterClient , configSchema as opensearchsearchConfigSchema , OpenSearchServiceStart , IScopedClusterClient , } from './opensearch' ; import { 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 , } from './saved_objects' ; import { CapabilitiesSetup , CapabilitiesStart } from './capabilities' ; import { MetricsServiceSetup , MetricsServiceStart } from './metrics' ; import { StatusServiceSetup } from './status' ; import { Auditor , AuditTrailSetup , AuditTrailStart } from './audit_trail' ; import { AppenderConfigType , appendersSchema , LoggingServiceSetup } from './logging' ; import { CoreUsageDataStart } from './core_usage_data' ; import { CoreUsageData , CoreConfigUsageData , CoreEnvironmentUsageData , CoreServicesUsageData , } from './core_usage_data' ; export { CoreUsageData , CoreConfigUsageData , CoreEnvironmentUsageData , CoreServicesUsageData } ; export { AuditableEvent , Auditor , AuditorFactory , AuditTrailSetup } from './audit_trail' ; export { bootstrap } from './bootstrap' ; export { Capabilities , CapabilitiesProvider , CapabilitiesSwitcher } from './capabilities' ; export { ConfigPath , ConfigService , ConfigDeprecation , ConfigDeprecationProvider , ConfigDeprecationLogger , ConfigDeprecationFactory , EnvironmentMode , PackageInfo , } from './config' ; export { IContextContainer , IContextProvider , HandlerFunction , HandlerContextType , HandlerParameters , } from './context' ; export { CoreId } from './core_context' ; export { CspConfig , ICspConfig } from './csp' ; export { LegacyClusterClient , ILegacyClusterClient , ILegacyCustomClusterClient , LegacyScopedClusterClient , ILegacyScopedClusterClient , OpenSearchConfig , LegacyOpenSearchClientConfig , LegacyOpenSearchError , LegacyOpenSearchErrorHelpers , OpenSearchServiceSetup , OpenSearchServiceStart , OpenSearchStatusMeta , NodesVersionCompatibility , LegacyAPICaller , FakeRequest , ScopeableRequest , OpenSearchClient , IClusterClient , ICustomClusterClient , OpenSearchClientConfig , IScopedClusterClient , SearchResponse , CountResponse , ShardsInfo , ShardsResponse , Explanation , GetResponse , DeleteDocumentResponse , } from './opensearch' ; export * from './opensearch/legacy/api_types' ; export { AuthenticationHandler , AuthHeaders , AuthResultParams , AuthStatus , AuthToolkit , AuthRedirected , AuthRedirectedParams , AuthResult , AuthResultType , Authenticated , AuthNotHandled , BasePath , IBasePath , CustomHttpResponseOptions , GetAuthHeaders , GetAuthState , Headers , HttpAuth , HttpResponseOptions , HttpResponsePayload , HttpServerInfo , HttpServiceSetup , HttpServiceStart , ErrorHttpResponseOptions , IOpenSearchDashboardsSocket , IsAuthenticated , OpenSearchDashboardsRequest , OpenSearchDashboardsRequestEvents , OpenSearchDashboardsRequestRoute , OpenSearchDashboardsRequestRouteOptions , IOpenSearchDashboardsResponse , LifecycleResponseFactory , KnownHeaders , LegacyRequest , OnPreAuthHandler , OnPreAuthToolkit , OnPreRoutingHandler , OnPreRoutingToolkit , OnPostAuthHandler , OnPostAuthToolkit , OnPreResponseHandler , OnPreResponseToolkit , OnPreResponseRender , OnPreResponseExtensions , OnPreResponseInfo , RedirectResponseOptions , RequestHandler , RequestHandlerWrapper , RequestHandlerContextContainer , RequestHandlerContextProvider , ResponseError , ResponseErrorAttributes , ResponseHeaders , opensearchDashboardsResponseFactory , OpenSearchDashboardsResponseFactory , RouteConfig , IRouter , RouteRegistrar , RouteMethod , RouteConfigOptions , RouteConfigOptionsBody , RouteContentType , validBodyOutput , RouteValidatorConfig , RouteValidationSpec , RouteValidationFunction , RouteValidatorOptions , RouteValidatorFullConfig , RouteValidationResultFactory , RouteValidationError , SessionStorage , SessionStorageCookieOptions , SessionCookieValidationResult , SessionStorageFactory , DestructiveRouteMethod , SafeRouteMethod , } from './http' ; export { HttpResourcesRenderOptions , HttpResourcesResponseOptions , HttpResourcesServiceToolkit , HttpResourcesRequestHandler , } from './http_resources' ; export { IRenderOptions } from './rendering' ; export { Logger , LoggerFactory , LogMeta , LogRecord , LogLevel , LoggingServiceSetup , LoggerContextConfigInput , LoggerConfigType , AppenderConfigType , } from './logging' ; export { DiscoveredPlugin , Plugin , PluginConfigDescriptor , PluginConfigSchema , PluginInitializer , PluginInitializerContext , PluginManifest , PluginName , SharedGlobalConfig , } from './plugins' ; export { SavedObjectsBulkCreateObject , SavedObjectsBulkGetObject , SavedObjectsBulkUpdateObject , SavedObjectsBulkUpdateOptions , SavedObjectsBulkResponse , SavedObjectsBulkUpdateResponse , SavedObjectsCheckConflictsObject , SavedObjectsCheckConflictsResponse , SavedObjectsClient , SavedObjectsClientProviderOptions , SavedObjectsClientWrapperFactory , SavedObjectsClientWrapperOptions , SavedObjectsClientFactory , SavedObjectsClientFactoryProvider , SavedObjectsCreateOptions , SavedObjectsErrorHelpers , SavedObjectsExportOptions , SavedObjectsExportResultDetails , SavedObjectsFindResult , SavedObjectsFindResponse , SavedObjectsImportConflictError , SavedObjectsImportAmbiguousConflictError , SavedObjectsImportError , SavedObjectsImportMissingReferencesError , SavedObjectsImportOptions , SavedObjectsImportResponse , SavedObjectsImportRetry , SavedObjectsImportSuccess , SavedObjectsImportUnknownError , SavedObjectsImportUnsupportedTypeError , SavedObjectMigrationContext , SavedObjectsMigrationLogger , SavedObjectsRawDoc , SavedObjectSanitizedDoc , SavedObjectUnsanitizedDoc , SavedObjectsRepositoryFactory , SavedObjectsResolveImportErrorsOptions , SavedObjectsSerializer , SavedObjectsUpdateOptions , SavedObjectsUpdateResponse , SavedObjectsAddToNamespacesOptions , SavedObjectsAddToNamespacesResponse , SavedObjectsDeleteFromNamespacesOptions , SavedObjectsDeleteFromNamespacesResponse , SavedObjectsServiceStart , SavedObjectsServiceSetup , SavedObjectStatusMeta , SavedObjectsDeleteOptions , ISavedObjectsRepository , SavedObjectsRepository , SavedObjectsDeleteByNamespaceOptions , SavedObjectsIncrementCounterOptions , SavedObjectsComplexFieldMapping , SavedObjectsCoreFieldMapping , SavedObjectsFieldMapping , SavedObjectsTypeMappingDefinition , SavedObjectsMappingProperties , SavedObjectTypeRegistry , ISavedObjectTypeRegistry , SavedObjectsNamespaceType , SavedObjectsType , SavedObjectsTypeManagementDefinition , SavedObjectMigrationMap , SavedObjectMigrationFn , SavedObjectsUtils , exportSavedObjectsToStream , importSavedObjectsFromStream , resolveSavedObjectsImportErrors , } from './saved_objects' ; export { IUiSettingsClient , UiSettingsParams , PublicUiSettingsParams , UiSettingsType , UiSettingsServiceSetup , UiSettingsServiceStart , UserProvidedValues , ImageValidation , DeprecationSettings , StringValidation , StringValidationRegex , StringValidationRegexString , } from './ui_settings' ; export { OpsMetrics , OpsOsMetrics , OpsServerMetrics , OpsProcessMetrics , MetricsServiceSetup , MetricsServiceStart , } from './metrics' ; export { AppCategory } from '../types' ; export { DEFAULT_APP_CATEGORIES } from '../utils' ; export { SavedObject , SavedObjectAttribute , SavedObjectAttributes , SavedObjectAttributeSingle , SavedObjectReference , SavedObjectsBaseOptions , MutatingOperationRefreshSetting , SavedObjectsClientContract , SavedObjectsFindOptions , SavedObjectsMigrationVersion , } from './types' ; export { LegacyServiceSetupDeps , LegacyServiceStartDeps , LegacyConfig } from './legacy' ; export { CoreStatus , ServiceStatus , ServiceStatusLevel , ServiceStatusLevels , StatusServiceSetup , } from './status' ; export { CoreUsageDataStart } 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 - OpenSearch
 *      data client which uses the credentials of the incoming request
 *    -  LegacyScopedClusterClient - The legacy OpenSearch
 *      data client which uses the credentials of the incoming request
 *    -  IUiSettingsClient - uiSettings client
 *      which uses the credentials of the incoming request
 *    -  Auditor - AuditTrail client scoped to the incoming request
 *
 *  public export interface RequestHandlerContext { core : { savedObjects : { client : SavedObjectsClientContract ; typeRegistry : ISavedObjectTypeRegistry ; } ; opensearch : { client : IScopedClusterClient ; legacy : { client : ILegacyScopedClusterClient ; } ; } ; uiSettings : { client : IUiSettingsClient ; } ; auditor : Auditor ; } ; } 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 ; /**  OpenSearchServiceSetup opensearch : OpenSearchServiceSetup ; /**  HttpServiceSetup http : HttpServiceSetup & { /**  HttpResources resources : HttpResources ; } ; /**  LoggingServiceSetup logging : LoggingServiceSetup ; /**  MetricsServiceSetup metrics : MetricsServiceSetup ; /**  SavedObjectsServiceSetup savedObjects : SavedObjectsServiceSetup ; /**  StatusServiceSetup status : StatusServiceSetup ; /**  UiSettingsServiceSetup uiSettings : UiSettingsServiceSetup ; /**  StartServicesAccessor getStartServices : StartServicesAccessor < TPluginsStart , TStart > ; /**  AuditTrailSetup auditTrail : AuditTrailSetup ; } public export type StartServicesAccessor < TPluginsStart extends object = object , TStart = unknown > = ( ) => Promise < [ CoreStart , TPluginsStart , TStart ] > ; public export interface CoreStart { /**  CapabilitiesStart capabilities : CapabilitiesStart ; /**  OpenSearchServiceStart opensearch : OpenSearchServiceStart ; /**  HttpServiceStart http : HttpServiceStart ; /**  MetricsServiceStart metrics : MetricsServiceStart ; /**  SavedObjectsServiceStart savedObjects : SavedObjectsServiceStart ; /**  UiSettingsServiceStart uiSettings : UiSettingsServiceStart ; /**  AuditTrailSetup auditTrail : AuditTrailStart ; internal CoreUsageDataStart coreUsageData : CoreUsageDataStart ; } export { CapabilitiesSetup , CapabilitiesStart , ContextSetup , HttpResources , PluginsServiceSetup , PluginsServiceStart , PluginOpaqueId , AuditTrailStart , } ; alpha export const config = { opensearch : { schema : opensearchsearchConfigSchema , } , logging : { appenders : appendersSchema as Type < AppenderConfigType > , } , } ;