import { Request, Response, NextFunction } from 'express';
/**
 * Template Management API Controller
 *
 * Implements the TypeSpec-defined template management endpoints
 * with full CRUD operations for document templates.
 */
export declare class TemplateController {
    private static templateRepository; /**
     * Create a new template
     * POST /api/v1/templates
     */
    static createTemplate(req: Request, res: Response, next: NextFunction): Promise<void>; /**
     * Get a template by ID
     * GET /api/v1/templates/:templateId
     */
    static getTemplate(req: Request, res: Response, next: NextFunction): Promise<void>;
    /**
     * Update a template
     * PUT /api/v1/templates/:templateId
     */
    static updateTemplate(req: Request, res: Response, next: NextFunction): Promise<void>;
    /**
     * Delete a template
     * DELETE /api/v1/templates/:templateId
     */
    static deleteTemplate(req: Request, res: Response, next: NextFunction): Promise<void>;
    /**
     * List templates with filtering and pagination
     * GET /api/v1/templates
     */
    static listTemplates(req: Request, res: Response, next: NextFunction): Promise<void>;
    /**
     * Validate a template
     * POST /api/v1/templates/validate
     */
    static validateTemplate(req: Request, res: Response, next: NextFunction): Promise<void>;
    /**
     * Preview a template with sample data
     * POST /api/v1/templates/{templateId}/preview
     */
    static previewTemplate(req: Request, res: Response, next: NextFunction): Promise<void>;
    /**
     * Clone an existing template
     * POST /api/v1/templates/{templateId}/clone
     */
    static cloneTemplate(req: Request, res: Response, next: NextFunction): Promise<void>;
    /**
     * Get template usage statistics
     * GET /api/v1/templates/{templateId}/stats
     */
    static getTemplateStats(req: Request, res: Response, next: NextFunction): Promise<void>;
    /**
     * Get overall template statistics (for admin dashboard)
     * GET /api/v1/templates/stats
     */
    static getOverallTemplateStats(req: Request, res: Response, next: NextFunction): Promise<void>;
    /**
     * Get template categories
     * GET /api/v1/templates/categories
     */
    static getTemplateCategories(req: Request, res: Response, next: NextFunction): Promise<void>;
    /**
     * Get template tags
     * GET /api/v1/templates/tags
     */
    static getTemplateTags(req: Request, res: Response, next: NextFunction): Promise<void>;
    /**
     * Bulk delete templates
     * POST /api/v1/templates/bulk-delete
     */
    static bulkDeleteTemplates(req: Request, res: Response, next: NextFunction): Promise<Response<any, Record<string, any>> | undefined>;
    /**
     * Export templates
     * GET /api/v1/templates/export
     */
    static exportTemplates(req: Request, res: Response, next: NextFunction): Promise<void>;
    /**
     * Import templates
     * POST /api/v1/templates/import
     */
    static importTemplates(req: Request, res: Response, next: NextFunction): Promise<Response<any, Record<string, any>> | undefined>;
}
//# sourceMappingURL=TemplateController.d.ts.map