import type { IRouteContext } from '../models/route-context.js';
/**
 * Utility class for resolving template variables in strings
 */
export declare class TemplateUtils {
    /**
     * Resolve template variables in a string using the route context
     * Supports variables like {domain}, {path}, {clientIp}, etc.
     *
     * @param template The template string with {variables}
     * @param context The route context with values
     * @returns The resolved string
     */
    static resolveTemplateVariables(template: string, context: IRouteContext): string;
    /**
     * Safely convert a value to a string
     *
     * @param value Any value to convert to string
     * @returns String representation or original match for complex objects
     */
    private static convertToString;
    /**
     * Resolve template variables in header values
     *
     * @param headers Header object with potential template variables
     * @param context Route context for variable resolution
     * @returns New header object with resolved values
     */
    static resolveHeaderTemplates(headers: Record<string, string>, context: IRouteContext): Record<string, string>;
    /**
     * Check if a string contains template variables
     *
     * @param str String to check for template variables
     * @returns True if string contains template variables
     */
    static containsTemplateVariables(str: string): boolean;
}
