import { User } from '../../users/entities/user.entity';
export declare enum NewsletterTemplate {
    TEMPLATE_1 = "template_1",
    TEMPLATE_2 = "template_2",
    TEMPLATE_3 = "template_3",
    TEMPLATE_4 = "template_4"
}
export declare enum NewsletterStatus {
    DRAFT = "draft",
    SENDING = "sending",
    SENT = "sent"
}
export type NewsletterImageSection = {
    id: string;
    type: 'image';
    image_url: string;
    href?: string | null;
};
export type NewsletterTextSection = {
    id: string;
    type: 'text';
    html: string;
    is_title?: boolean;
    align?: 'left' | 'center' | 'right' | 'justify';
    font_size?: number;
};
export type NewsletterButtonSection = {
    id: string;
    type: 'button';
    text: string;
    href: string;
    bg_color: string;
    text_color: string;
    border_radius?: number;
};
export type NewsletterLeafSection = NewsletterImageSection | NewsletterTextSection | NewsletterButtonSection;
export type NewsletterColumnsSection = {
    id: string;
    type: 'columns';
    columns: 2 | 3;
    cells: NewsletterLeafSection[];
    gap?: number;
    padding_x?: number;
    mobile_layout?: 'stack' | 'keep';
};
export type NewsletterSection = NewsletterLeafSection | NewsletterColumnsSection;
export type NewsletterBlocks = NewsletterSection[];
export type NewsletterResultSummary = {
    totalSent: number;
    totalFailed: number;
    failedEmails: string[];
};
export declare class Newsletter {
    id: string;
    subject: string;
    internal_name: string;
    reply_to: string;
    template: NewsletterTemplate;
    blocks: NewsletterBlocks;
    footer_code: string;
    status: NewsletterStatus;
    result_summary: NewsletterResultSummary | null;
    total_recipients: number;
    sent_count: number;
    failed_count: number;
    sent_at: Date | null;
    createdByUser?: User | null;
    created_by: string | null;
    created_at: Date;
    updated_at: Date;
}
