import type React from 'react'; import type { Entity } from '@sitecore-search/data'; import type { CompileVars, EntityType, EntityWidgetTemplate, SupportedLanguage, SupportedStyling, TemplateDependencies, TemplateFile, TemplateInfo, WidgetTemplates } from '../../types.js'; export { COMPONENTS as UIComponents, COMPONENTS_LIST } from '../../components.js'; export declare class Template { protected template: TemplateInfo; protected componentName: string; constructor(template: TemplateInfo); getName(): string; getComponentName(): string; setComponentName(componentName: string): void; getEntity(): Entity; getLanguage(): SupportedLanguage; getStyling(): SupportedStyling; getId(): string; getType(): string; getDependencies(): TemplateDependencies; hasDependencies(): boolean; getFiles(): Array; getSdkComponents(): Array; } declare class TemplateFileInfo { protected template: Template; protected file: TemplateFile; constructor(template: Template, file: TemplateFile); getFileName(): TemplateFile['file']; getCode(vars?: Partial>): TemplateFile['code']; } export declare const getWidgetTemplates: () => TemplateInfo[]; export declare const getWidgetsTemplatesMap: () => WidgetTemplates; export declare const getWidgetTemplate: (entity: Entity, id: string) => EntityWidgetTemplate; export declare const getStyleWidgetTemplate: (entity: Entity, id: string, language: string, style: string) => TemplateInfo | undefined; export declare const getTemplate: (options: { language: SupportedLanguage; entity: EntityType; template: string; styling: SupportedStyling; }) => Template | null; export declare function hasDependencies(template: TemplateInfo): boolean; export declare const getWidgetTemplateComponent: (entity: Entity, id: string) => React.FC | null; export declare const getWidgetComponent: (componentName: string) => { (props: any): React.FunctionComponentElement; displayName: string; };