import Handlebars from 'handlebars';
import { AdRendererRequest, AdRendererTemplateInstanceContext } from '../../mediarithmics/plugins/ad-renderer';
import { ExploreableInternalsTemplatingEngine, ProfileDataTemplater, TemplateMacro } from '../../mediarithmics/plugins/common/TemplatingInterface';
import { URLHandlebarsRootContext } from './interfaces';
export declare const buildURLHandlebarsRootContext: (adRenderRequest: AdRendererRequest, instanceContext: AdRendererTemplateInstanceContext) => URLHandlebarsRootContext;
export declare class HandlebarsEngine implements ExploreableInternalsTemplatingEngine<void, string, HandlebarsTemplateDelegate<unknown>, hbs.AST.Program>, ProfileDataTemplater {
    engine: typeof Handlebars;
    init(): void;
    enableProfileDataLayer(): void;
    parse(template: string): hbs.AST.Program;
    getMacros(internals: hbs.AST.Program): TemplateMacro[];
    compile(template: string | hbs.AST.Program): HandlebarsTemplateDelegate<any>;
}
export declare class RecommendationsHandlebarsEngine extends HandlebarsEngine {
    private: any;
    constructor();
    init(): void;
}
