import * as i0 from '@angular/core'; import { EnvironmentProviders } from '@angular/core'; import { NgeDocAssets } from '@cisstech/nge/doc'; import { ServerRoute } from '@angular/ssr'; interface NgeDocSsrOptions { /** * Directories searched, in order, for the docs assets, relative to the * working directory of the build. Default: `['public']`, the assets folder * of a standard Angular workspace; a monorepo passes its own * (`['projects/demo/public']`). */ roots?: string[]; } /** * Serves the docs assets from the filesystem: prerendering runs without an * HTTP server, so the relative urls the runtime fetches would never resolve. * Everything served is also recorded in transfer state, letting the hydrated * page reuse the embedded content instead of refetching it. */ declare class FsNgeDocAssets implements NgeDocAssets { private readonly transferState; private readonly roots; text(url: string): Promise; json(url: string): Promise; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Server-side docs providers: add to the providers of `app.config.server.ts`. * Replaces the HTTP assets fetcher with the filesystem adapter. */ declare function provideNgeDocSsr(options?: NgeDocSsrOptions): EnvironmentProviders; /** * Builds the prerender server route of one or more compiled docs sites, one * route per `nge-doc.json`. Each manifest is read at build time to enumerate * the pages to render; pages marked `prerender: false` in their frontmatter * fall back to client rendering, like any url not listed (a 404, a search url). * * ```ts * export const serverRoutes: ServerRoute[] = [ * ...ngeDocPrerenderRoutes('projects/demo/public/docs/nge-doc.json'), * { path: '**', renderMode: RenderMode.Client }, * ] * ``` */ declare function ngeDocPrerenderRoutes(...manifestPaths: string[]): ServerRoute[]; export { FsNgeDocAssets, ngeDocPrerenderRoutes, provideNgeDocSsr }; export type { NgeDocSsrOptions };