/** * ================================ * Template Managers * ================================ */ export interface TemplateManager { loadAndParse(location: Location, variables: Variables): Promise; } export declare abstract class TemplateManagerInjectable { abstract loadAndParse(location: Location, variables: Variables): Promise; } export interface ResourceResolver { resolve(location: Location): Promise; } export declare abstract class ResourceResolverInjectable implements ResourceResolver { abstract resolve(location: Location): Promise; } export interface TemplateParser { parse(template: Template, variables: Variables): Promise; } export declare abstract class TemplateParserInjectable implements TemplateParser { abstract parse(template: Template, variables: Variables): Promise; } export interface FixedLocationTemplateHelper { parse(variables: Variables): Promise; } export declare abstract class FixedLocationTemplateHelperInjectable implements FixedLocationTemplateHelper { abstract parse(variables: Variables): Promise; } export interface VariablesProvider { getVariables(original?: Variables): Promise; } export declare abstract class VariablesProviderInjectable implements VariablesProvider { abstract getVariables(original?: Variables): Promise; } /** * ================================ * Utils types / interfaces * ================================ */ export interface Template { resource: Resource; } export interface ParsedTemplate { toString(): string; } export interface Variables { readonly [property: string]: any; } export interface Resource { content(): string; } export interface Location { }