import { IRouter , RouteConfig , IOpenSearchDashboardsResponse , ResponseHeaders , HttpResponseOptions , OpenSearchDashboardsResponseFactory , RequestHandler , } from '../http' ; public export interface HttpResourcesRenderOptions { remarks headers ? : ResponseHeaders ; } public export type HttpResourcesResponseOptions = HttpResponseOptions ; /**
 * Extended set of  OpenSearchDashboardsResponseFactory helpers used to respond with HTML or JS resource.
 *  public export interface HttpResourcesServiceToolkit { /** To respond with HTML page bootstrapping OpenSearch Dashboards application. */ renderCoreApp : ( options ? : HttpResourcesRenderOptions ) => Promise < IOpenSearchDashboardsResponse > ; /** To respond with HTML page bootstrapping OpenSearch Dashboards application without retrieving user-specific information. */ renderAnonymousCoreApp : ( options ? : HttpResourcesRenderOptions ) => Promise < IOpenSearchDashboardsResponse > ; /** To respond with a custom HTML page. */ renderHtml : ( options : HttpResourcesResponseOptions ) => IOpenSearchDashboardsResponse ; /** To respond with a custom JS script file. */ renderJs : ( options : HttpResourcesResponseOptions ) => IOpenSearchDashboardsResponse ; } /**
 * Extended version of  RequestHandler having access to  HttpResourcesServiceToolkit * to respond with HTML or JS resources.
 *  param context RequestHandlerContext - the core context exposed for this request.
 *  param request OpenSearchDashboardsRequest - object containing information about requested resource,
 * such as path, method, headers, parameters, query, body, etc.
 *  param response OpenSearchDashboardsResponseFactory {@libk HttpResourcesServiceToolkit} - a set of helper functions used to respond to a request.
 *
 *   example public export type HttpResourcesRequestHandler < P = unknown , Q = unknown , B = unknown > = RequestHandler < P , Q , B , 'get' , OpenSearchDashboardsResponseFactory & HttpResourcesServiceToolkit > ; internal export interface InternalHttpResourcesSetup { createRegistrar ( router ) : HttpResources ; } public export interface HttpResources { /** To register a route handler executing passed function to form response. */ register : < P , Q , B > ( route : RouteConfig < P , Q , B , 'get' > , handler : HttpResourcesRequestHandler < P , Q , B > ) => void ; }