import type { Application, Request, Response, NextFunction } from 'express'; import nunjucks, { type ILoader, type ConfigureOptions } from 'nunjucks'; type Constructable = new (...args: any[]) => T; type LoaderType = Constructable; type FilterFunc = (...args: any[]) => any; type ContextProcessorContext = Record; export type ContextProcessor = (req: Request, ctx: ContextProcessorContext) => void; declare const envKeys: readonly ["autoescape", "throwOnUndefined", "trimBlocks", "lstripBlocks", "tags"]; type EnvKeysType = (typeof envKeys)[number]; type EnvOptions = Pick; interface Configuration extends EnvOptions { watch?: boolean; noCache?: boolean; filters?: Record; loader?: LoaderType; globals?: Record; } export declare const expressNunjucks: (apps?: Application | Application[], config?: Configuration) => { env: nunjucks.Environment; ctxProc: (ctxProcessors: ContextProcessor[]) => (req: Request, res: Response, next: NextFunction) => void; }; export default expressNunjucks;