/**
 * Template Renderer
 * Converts JSON templates to markdown format
 */
type BaseTemplate = any;
type JsonTemplate = any;
type Language = any;
import { II18nProvider } from '../i18n/interfaces/II18nProvider.js';
/**
 * Template Renderer class
 * Responsible for rendering JSON templates to Markdown
 */
export declare class TemplateRenderer {
    private readonly i18nProvider;
    /**
     * Constructor
     *
     * @param i18nProvider Provider for internationalization services
     */
    constructor(i18nProvider: II18nProvider);
    /**
     * Renders a base template to Markdown format
     *
     * @param template The template to render
     * @param language The target language
     * @param variables Optional variables for substitution
     * @returns Markdown formatted string
     */
    renderToMarkdown(template: BaseTemplate | JsonTemplate, language: Language, variables?: Record<string, string>): string;
    /**
     * Renders a base template to Markdown format
     *
     * @param template The base template to render
     * @param language The target language
     * @param variables Optional variables for substitution
     * @returns Markdown formatted string
     */
    private renderBaseTemplateToMarkdown;
    /**
     * Renders a JSON template to Markdown format
     *
     * @param template The JSON template to render
     * @param language The target language
     * @param variables Optional variables for substitution
     * @returns Markdown formatted string
     */
    private renderJsonTemplateToMarkdown;
    /**
     * Renders a template section
     *
     * @param section The section to render
     * @param language The target language
     * @param variables Optional variables for substitution
     * @returns Markdown formatted string for the section
     */
    private renderSection;
    /**
     * Renders a JSON template section
     *
     * @param section The section to render
     * @param language The target language
     * @param variables Optional variables for substitution
     * @param placeholders Optional placeholders mapping
     * @returns Markdown formatted string for the section
     */
    private renderJsonSection;
    /**
     * Replace variables in a text
     *
     * @param text The text containing variables
     * @param variables The variables mapping
     * @returns Text with variables replaced
     */
    private replaceVariables;
    /**
     * Gets a localized comment for a placeholder
     *
     * @param placeholder The placeholder string
     * @param language The target language
     * @returns Markdown comment string
     */
    private getPlaceholderComment;
}
export {};
//# sourceMappingURL=TeplateRenderer.d.ts.map