/// <reference types="node" />
import type { AsyncHandler } from '../handlers/AsyncHandler';
import type { Template, TemplateEngineInput } from './TemplateEngine';
import { TemplateEngine } from './TemplateEngine';
import Dict = NodeJS.Dict;
/**
 * Template engine that renders output based on a static template file.
 */
export declare class StaticTemplateEngine<T extends Dict<any> = Dict<any>> extends TemplateEngine<T> {
    private readonly template;
    private readonly templateEngine;
    /**
     * Creates a new StaticTemplateEngine.
     *
     * @param templateEngine - The template engine that should be used for processing the template.
     * @param template - The static template to be used.
     */
    constructor(templateEngine: AsyncHandler<TemplateEngineInput<T>, string>, template: Template);
    canHandle({ contents, template }: TemplateEngineInput<T>): Promise<void>;
    handle({ contents }: TemplateEngineInput<T>): Promise<string>;
}
