import { DeleteDTO } from '@hed-hog/api';
import { CreateDTO } from './dto/create.dto';
import { QueryMailSentListDTO } from './dto/query-mail-sent-list.dto';
import { UpdateDTO } from './dto/update.dto';
import { MailSentService } from './mail-sent.service';
export declare class MailSentController {
    private readonly mailSentService;
    constructor(mailSentService: MailSentService);
    list(paginationParams: any, query: QueryMailSentListDTO): Promise<{
        data: {
            deliverySummary: {
                totalRecipients: number;
                receivedCount: number;
                readCount: number;
                errorCount: number;
                hasError: boolean;
                lastReadAt: Date | null;
            };
            mail_sent_user?: {
                id: number;
                recipient_email: string;
                status: "error" | "received" | "read";
                read_at: Date | null;
                error_code: string | null;
                error_message: string | null;
                user_id: number;
                user_identifier_id: number | null;
                created_at: Date;
                updated_at: Date;
            }[];
        }[];
        total: any;
        lastPage: number;
        page: number;
        pageSize: number;
        prev: number;
        next: number;
    }>;
    get(id: number, locale: string): Promise<{
        id: number;
        body: string;
        from: string;
        to: string | null;
        created_at: Date;
        updated_at: Date;
        subject: string;
        cc: string | null;
        bcc: string | null;
        mail_id: number;
    }>;
    create(data: CreateDTO): Promise<{
        id: number;
        body: string;
        from: string;
        to: string | null;
        created_at: Date;
        updated_at: Date;
        subject: string;
        cc: string | null;
        bcc: string | null;
        mail_id: number;
    }>;
    update(locale: string, id: number, data: UpdateDTO): Promise<{
        id: number;
        body: string;
        from: string;
        to: string | null;
        created_at: Date;
        updated_at: Date;
        subject: string;
        cc: string | null;
        bcc: string | null;
        mail_id: number;
    }>;
    delete(locale: string, data: DeleteDTO): Promise<{
        count: number;
    }>;
}
//# sourceMappingURL=mail-sent.controller.d.ts.map