## API Report File for "@angular/ssr"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { DefaultExport } from '@angular/router';
import { EnvironmentProviders } from '@angular/core';
import { InjectionToken } from '@angular/core';
import { Provider } from '@angular/core';
import { Type } from '@angular/core';

// @public
export class AngularAppEngine {
    constructor(options?: AngularAppEngineOptions);
    handle(request: Request, requestContext?: unknown): Promise<Response | null>;
    static ɵallowStaticRouteRender: boolean;
    static ɵdisableAllowedHostsCheck: boolean;
    static ɵhooks: Hooks;
}

// @public
export interface AngularAppEngineOptions {
    allowedHosts?: readonly string[];
}

// @public
export function createRequestHandler(handler: RequestHandlerFunction): RequestHandlerFunction;

// @public
export const IS_DISCOVERING_ROUTES: InjectionToken<boolean>;

// @public
export enum PrerenderFallback {
    Client = 1,
    None = 2,
    Server = 0
}

// @public
export function provideServerRendering(...features: ServerRenderingFeature<ServerRenderingFeatureKind>[]): EnvironmentProviders;

// @public
export enum RenderMode {
    Client = 1,
    Prerender = 2,
    Server = 0
}

// @public
export type RequestHandlerFunction = (request: Request) => Promise<Response | null> | null | Response;

// @public
export type ServerRoute = ServerRouteClient | ServerRoutePrerender | ServerRoutePrerenderWithParams | ServerRouteServer;

// @public
export interface ServerRouteClient extends ServerRouteCommon {
    renderMode: RenderMode.Client;
}

// @public
export interface ServerRouteCommon {
    headers?: Record<string, string>;
    path: string;
    status?: number;
}

// @public
export interface ServerRoutePrerender extends Omit<ServerRouteCommon, 'status'> {
    fallback?: never;
    renderMode: RenderMode.Prerender;
}

// @public
export interface ServerRoutePrerenderWithParams extends Omit<ServerRoutePrerender, 'fallback'> {
    fallback?: PrerenderFallback;
    getPrerenderParams: () => Promise<Record<string, string>[]>;
}

// @public
export interface ServerRouteServer extends ServerRouteCommon {
    renderMode: RenderMode.Server;
}

// @public
export function withAppShell(component: Type<unknown> | (() => Promise<Type<unknown> | DefaultExport<Type<unknown>>>)): ServerRenderingFeature<ServerRenderingFeatureKind.AppShell>;

// @public
export function withRoutes(routes: ServerRoute[]): ServerRenderingFeature<ServerRenderingFeatureKind.ServerRoutes>;

// (No @packageDocumentation comment for this package)

```
