import { WhatsappTemplateService } from './whatsapp-template.service';
import { CreateTemplateDto, UpdateTemplateDto } from './dto/create-template.dto';
export declare class WhatsappTemplateController {
    private readonly templateService;
    constructor(templateService: WhatsappTemplateService);
    listTemplates(req: any): Promise<{
        templates: (import("mongoose").FlattenMaps<{
            salonId: import("mongoose").Types.ObjectId;
            internalName: string;
            templateApiId?: string | undefined;
            wabaId: string;
            language: string;
            category: import("../common/enums").TemplateCategory;
            headerText: string;
            messageBody: string;
            footerText: string;
            status: import("../common/enums").TemplateStatus;
            buttons?: {
                type: "PHONE_NUMBER" | "URL" | "QUICK_REPLY";
                text: string;
                phone_number?: string | undefined;
                url?: string | undefined;
                payload?: string | undefined;
            }[] | undefined;
            fullTemplatePayload?: any;
            errorReason?: string | undefined;
            placeholders: {
                key: string;
                valueType: string;
                example: string;
            }[];
            isPrimary: boolean;
            token?: string | undefined;
            phone_number_id?: string | undefined;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    getTemplateById(req: any, id: string): Promise<{
        template: {
            placeholders: {
                key: string;
                type: string;
                example: string;
            }[];
            salonId: import("mongoose").Types.ObjectId;
            internalName: string;
            templateApiId?: string | undefined;
            wabaId: string;
            language: string;
            category: import("../common/enums").TemplateCategory;
            headerText: string;
            messageBody: string;
            footerText: string;
            status: import("../common/enums").TemplateStatus;
            buttons?: import("mongoose").FlattenMaps<{
                type: "PHONE_NUMBER" | "URL" | "QUICK_REPLY";
                text: string;
                phone_number?: string | undefined;
                url?: string | undefined;
                payload?: string | undefined;
            }>[] | undefined;
            fullTemplatePayload?: any;
            errorReason?: string | undefined;
            isPrimary: boolean;
            token?: string | undefined;
            phone_number_id?: string | undefined;
            _id: import("mongoose").Types.ObjectId;
            __v: number;
        };
    }>;
    saveDraft(req: any, dto: CreateTemplateDto): Promise<{
        template: import("mongoose").Document<unknown, {}, import("../model/schemas/whatsapp-template.schema").WhatsappTemplate, {}, {}> & import("../model/schemas/whatsapp-template.schema").WhatsappTemplate & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
        message: string;
    }>;
    updateDraft(templateId: string, dto: UpdateTemplateDto): Promise<{
        template: (import("mongoose").Document<unknown, {}, import("../model/schemas/whatsapp-template.schema").WhatsappTemplate, {}, {}> & import("../model/schemas/whatsapp-template.schema").WhatsappTemplate & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        }) | null;
        message: string;
    }>;
    submitToMeta(templateId: string): Promise<{
        template: {
            success: boolean;
            message: string;
        };
        message: string;
    }>;
    previewTemplate(req: any): Promise<{
        template: import("mongoose").FlattenMaps<{
            salonId: import("mongoose").Types.ObjectId;
            internalName: string;
            templateApiId?: string | undefined;
            wabaId: string;
            language: string;
            category: import("../common/enums").TemplateCategory;
            headerText: string;
            messageBody: string;
            footerText: string;
            status: import("../common/enums").TemplateStatus;
            buttons?: {
                type: "PHONE_NUMBER" | "URL" | "QUICK_REPLY";
                text: string;
                phone_number?: string | undefined;
                url?: string | undefined;
                payload?: string | undefined;
            }[] | undefined;
            fullTemplatePayload?: any;
            errorReason?: string | undefined;
            placeholders: {
                key: string;
                valueType: string;
                example: string;
            }[];
            isPrimary: boolean;
            token?: string | undefined;
            phone_number_id?: string | undefined;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    previewTemplateKeys(req: any): Promise<string[]>;
}
