///
import 'zone.js';
import 'zone.js/dist/zone-node';
import { Request, Response } from '@nestjs/common';
import express from 'express';
import { IAngularAppOptions } from './tokens';
import { IncomingMessage } from 'http';
export interface IHooks {
pre?(request: express.Request, response: express.Response): void | Promise;
post?(body: string, request: express.Request, response: express.Response): void | string | Promise;
zoneProperties?(request: express.Request, response: express.Response): void | Record | Promise>;
onProxyRes?(proxyRes: IncomingMessage, request: express.Request, response: express.Response): void | Record | Promise>;
proxyPathRewrite?: Record | ((path: string, req: express.Request) => string) | ((path: string, req: express.Request) => Promise);
}
export declare class AngularController {
protected readonly mode: 'ssr' | 'proxy';
protected readonly options: T;
protected readonly nonceFactory?: ((request: express.Request, response: express.Response) => string) | undefined;
protected readonly hooks?: IHooks | undefined;
protected readonly _static: import("express-serve-static-core").Handler | null;
protected readonly _template: string | null;
protected readonly _proxy: import("http-proxy-middleware").RequestHandler | null;
protected readonly router: import("express-serve-static-core").Router;
constructor(mode: 'ssr' | 'proxy', options: T, nonceFactory?: ((request: express.Request, response: express.Response) => string) | undefined, hooks?: IHooks | undefined);
protected init(): void;
protected checkSkip(req: express.Request): boolean;
getStaticAssets(req: express.Request, res: express.Response, next: express.NextFunction): void;
protected _ssr(request: express.Request, response: express.Response, next: express.NextFunction): Promise;
getAngular(req: express.Request, res: express.Response, next: express.NextFunction): void;
handle(req: express.Request, res: express.Response, next: express.NextFunction): void;
}