import { DeleteDTO } from '@hed-hog/api';
import { Response } from 'express';
import { CreateDTO } from './dto/create.dto';
import { ImportDTO } from './dto/import.dto';
import { TestMailDTO } from './dto/test-mail.dto';
import { UpdateDTO } from './dto/update.dto';
import { MailService } from './mail.service';
export declare class MailController {
    private readonly mailService;
    constructor(mailService: MailService);
    list(locale: any, paginationParams: any): Promise<{
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
        data: any[];
    }>;
    get(id: number, queryLocale?: string, decoratorLocale?: string): Promise<{
        id: number;
        slug: string;
        locale_id: number;
        mail_id: number;
        subject: string;
        body: string;
        mail_var: {
            name: string;
            id: number;
        }[];
        locale: {
            code: string;
        };
        created_at: Date;
        updated_at: Date;
    }>;
    getHtml(id: number, res: Response, queryLocale?: string, decoratorLocale?: string): Promise<void>;
    create(data: CreateDTO): Promise<{
        mail_locale: {
            id: number;
            body: string;
            created_at: Date;
            updated_at: Date;
            subject: string;
            locale_id: number;
            mail_id: number;
        }[];
        mail_var: {
            name: string;
            id: number;
            created_at: Date;
            updated_at: Date;
            mail_id: number;
        }[];
    } & {
        id: number;
        created_at: Date;
        updated_at: Date;
        slug: string;
    }>;
    reloadConfig(): Promise<{
        success: boolean;
        provider: string;
        from: string;
        config: any;
    }>;
    update(id: number, data: UpdateDTO): Promise<{
        mail_locale: {
            id: number;
            body: string;
            created_at: Date;
            updated_at: Date;
            subject: string;
            locale_id: number;
            mail_id: number;
        }[];
        mail_var: {
            name: string;
            id: number;
            created_at: Date;
            updated_at: Date;
            mail_id: number;
        }[];
    } & {
        id: number;
        created_at: Date;
        updated_at: Date;
        slug: string;
    }>;
    delete(data: DeleteDTO): Promise<{
        count: number;
    }>;
    sendTestMail(locale: string, data: TestMailDTO): Promise<any>;
    import(data: ImportDTO): Promise<{
        conflicts: string[];
        success?: undefined;
        imported?: undefined;
        templates?: undefined;
    } | {
        success: boolean;
        imported: number;
        templates: any[];
        conflicts?: undefined;
    }>;
}
//# sourceMappingURL=mail.controller.d.ts.map