declare module 'nunjucks' { export interface Loader { getSource(name: string): { src: string; path: string } | null } export interface Environment { render(name: string, context: Record, callback: (err: Error | null, res: string) => void): void addFilter(name: string, fn: (...args: unknown[]) => void, async?: boolean): void getFilter(name: string): (...args: unknown[]) => void } export class Environment { constructor(loaders?: Loader[], opts?: { autoescape?: boolean }) render(name: string, context: Record, callback: (err: Error | null, res: string) => void): void addFilter(name: string, fn: (...args: unknown[]) => void, async?: boolean): void getFilter(name: string): (...args: unknown[]) => void } const nunjucks: { Environment: typeof Environment } export default nunjucks }