import { compileSync } from 'oc-client-browser'; import type { Config, CorsOptions } from '../../types'; import type { HttpServerAdapterFactory } from './http-server/types'; type CompileOptions = Omit[0], undefined>, 'templates'>; export interface RegistryOptions extends Partial, 'beforePublish' | 'cors' | 'dataProvider' | 'discovery' | 'plugins'>> { /** * Configuration for the data provider step, i.e. the component's `server.js` * that produces the model consumed by the view. */ dataProvider?: { /** * Executes the component's own data provider (`server.js`) when it has one. * Set to `false` to serve every component as if it shipped no `server.js`. * * @default true */ enabled?: boolean; }; /** * Configuration object to enable/disable the HTML discovery page and the API * * @default true */ discovery?: { ui?: boolean; experimental?: boolean; api?: boolean; validate?: boolean; robots?: boolean; } | boolean; /** * CORS response headers sent by the registry. * * @default Existing registry CORS headers */ cors?: CorsOptions; /** * Public base URL where the registry will be accessible by consumers. * It **must** already include the chosen {@link Config.prefix} and end with a trailing slash. * * @example "https://components.mycompany.com/" */ baseUrl: string; /** * Set the options for the oc-client-browser * Set it to false to disable the compilation of the client * @default true */ compileClient?: boolean | CompileOptions; } export default function optionsSanitiser(input: RegistryOptions): Config; export {};