import { Response } from "./response.js";
/**
 * ResponseTemplateManager Singleton Class
 */
export declare class ResponseTemplateManager {
    /**
     * Get ResponseTemplateManager Instance
     * @returns ResponseTemplateManager Instance
     */
    static getInstance(): ResponseTemplateManager;
    /**
     * ResponseTemplateManager Instance
     */
    private static instance;
    /**
     * template container
     */
    templates: any;
    private constructor();
    /**
     * Generate API response template string for given code and description
     * @param code API response code
     * @param description API response description
     * @returns generate response template string
     */
    generateTemplate(code: string, description: string): string;
    /**
     * Add response template to template container
     * @param id template id
     * @param plain API plain response
     * @returns ResponseTemplateManager instance for method chaining
     */
    addTemplate(id: string, plain: string): ResponseTemplateManager;
    /**
     * Get response template instance from template container
     * @param id template id
     * @returns template instance
     */
    getTemplate(id: string): Response;
    /**
     * Return all available response templates
     * @returns all available response template instances
     */
    getTemplates(): any;
    /**
     * Check if given template exists in template container
     * @param id template id
     * @returns boolean result
     */
    hasTemplate(id: string): boolean;
    /**
     * Check if given API response hash matches a given template by code and description
     * @param tpl2 api response hash
     * @param id template id
     * @returns boolean result
     */
    isTemplateMatchHash(tpl2: any, id: string): boolean;
    /**
     * Check if given API plain response matches a given template by code and description
     * @param plain API plain response
     * @param id template id
     * @returns boolean result
     */
    isTemplateMatchPlain(plain: string, id: string): boolean;
}
