import { FormTemplateService } from '../services';
import { CreateFormTemplateDto, UpdateFormTemplateDto, QueryFormTemplatesDto, CreateFormFromTemplateDto } from '../dto';
export declare class FormTemplatesController {
    private readonly formTemplateService;
    constructor(formTemplateService: FormTemplateService);
    create(dto: CreateFormTemplateDto, userId: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        isPublic: boolean;
        template: import("@prisma/client/runtime/library").JsonValue;
        updatedBy: string | null;
        createdBy: string;
        icon: string | null;
        color: string | null;
        category: string;
        nameI18n: import("@prisma/client/runtime/library").JsonValue;
        descriptionI18n: import("@prisma/client/runtime/library").JsonValue | null;
        isBuiltin: boolean;
    }>;
    findAll(query: QueryFormTemplatesDto, userId: string): Promise<{
        items: any[];
        total: number;
        page: number;
        limit: number;
        totalPages: number;
    }>;
    findOne(templateIdentifier: string): Promise<any>;
    update(templateIdentifier: string, dto: UpdateFormTemplateDto, userId: string): Promise<any>;
    remove(templateIdentifier: string): Promise<{
        id: string;
        deleted: boolean;
    }>;
    createFormFromTemplate(templateIdentifier: string, dto: CreateFormFromTemplateDto, userId: string): Promise<any>;
}
