import { CommandPreprocessor, Options, RunOptions } from '../../types'; export interface TemplateHelper { name: string; fnCompileTime: (this: TemplateHelper & { options: CRO; }, options: O) => R; fnRunTime?: (options: RO) => RR; } export declare class Template implements CommandPreprocessor { protected templateOptions: { async: boolean; escape: (s: string) => string; rmWhitespace: boolean; }; protected templateRuntimeOptions: { delimiter: string; async: boolean; escape: (s: string) => string; rmWhitespace: boolean; }; constructor(); name: string; fnCompileTime(context: RunOptions): Promise; fnRuntime(commandOptions: Options, commandIndex: number, runOptions: RunOptions): Promise; } /** * Allows to change the context object on which templates are evaluated to add new properties or functions * so they can be evaluated in command templates. */ export declare function addTemplateHelper(h: TemplateHelper): void;