import type { RequestHandler } from 'express'; import { ApiConfig } from '@ministryofjustice/hmpps-rest-client'; import ComponentApiClient from './data/componentApi/componentApiClient'; import { ConnectDpsComponentLogger } from './types/ConnectDpsComponentLogger'; export interface FrontendComponentRequestOptions { authUrl?: string; supportUrl?: string; environmentName?: 'DEV' | 'PRE-PRODUCTION' | 'PRODUCTION'; includeSharedData?: boolean; useFallbacksByDefault?: boolean; /** * Update Content-Security-Policy with directives returned by MFE components service * (instead of built-in fallback set); true by default */ updateContentSecurityPolicy?: boolean; } export default class ComponentsService { private readonly logger; private readonly componentApiConfig; private readonly componentApiClient; private readonly dpsUrl; constructor(logger: ConnectDpsComponentLogger, componentApiConfig: ApiConfig, componentApiClient: ComponentApiClient, dpsUrl: string); static create({ logger, componentApiConfig, dpsUrl, }: { logger?: ConnectDpsComponentLogger; componentApiConfig: ApiConfig; dpsUrl: string; }): ComponentsService; getFrontendComponents(requestOptions?: FrontendComponentRequestOptions): RequestHandler; }