import { IComponentDefinition } from "@pnp/modern-search-extensibility" ; import { IDataResultType } from "../../models/common/IDataResultType" ; import { IComponentFieldsConfiguration } from "../../models/common/IComponentFieldsConfiguration" ; import { IDataResultsTemplateContext } from "../../models/common/ITemplateContext" ; export interface ITemplateService { Handlebars : typeof Handlebars ; getTemplateMarkup ( templateContent ) : string ; getPlaceholderMarkup ( templateContent ) : string ; getFileContent ( fileUrl ) : Promise < string > ; ensureFileResolves ( fileUrl ) : Promise < void > ; isValidTemplateFile ( filePath ) : boolean ; processTemplate ( templateContext , templateContent ) : Promise < string > ; registerWebComponents ( webComponents , instanceId ) : Promise < void > ; processFieldsConfiguration < T > ( fieldsConfiguration , item , context ? ) : T ; registerResultTypes ( resultTypes ) : Promise < void > ; }