import { NotificationsService } from './notifications.service';
import { EmailService } from './email.service';
import { User } from '../users/entities/user.entity';
export declare class NotificationsAdminController {
    private readonly notificationsService;
    private readonly emailService;
    constructor(notificationsService: NotificationsService, emailService: EmailService);
    getTemplates(): Promise<import("./entities/notification-template.entity").NotificationTemplate[]>;
    getTemplate(id: string): Promise<import("./entities/notification-template.entity").NotificationTemplate>;
    updateTemplate(id: string, data: {
        in_app_enabled?: boolean;
        in_app_title?: string;
        in_app_message?: string;
        email_enabled?: boolean;
        email_subject?: string;
        email_body?: string;
        is_active?: boolean;
    }): Promise<import("./entities/notification-template.entity").NotificationTemplate>;
    seedTemplates(): Promise<{
        message: string;
    }>;
    getEmailSettings(): Promise<{
        smtp_password: string;
        id: string;
        provider: string;
        smtp_host: string;
        smtp_port: number;
        smtp_secure: boolean;
        smtp_user: string;
        from_email: string;
        from_name: string;
        reply_to: string;
        email_footer: string;
        logo_url: string;
        primary_color: string;
        is_configured: boolean;
        last_test_at: Date;
        test_successful: boolean;
        created_at: Date;
        updated_at: Date;
    }>;
    updateEmailSettings(data: {
        smtp_host?: string;
        smtp_port?: number;
        smtp_secure?: boolean;
        smtp_user?: string;
        smtp_password?: string;
        from_email?: string;
        from_name?: string;
        reply_to?: string;
        email_footer?: string;
        logo_url?: string;
        primary_color?: string;
    }): Promise<{
        smtp_password: string;
        id: string;
        provider: string;
        smtp_host: string;
        smtp_port: number;
        smtp_secure: boolean;
        smtp_user: string;
        from_email: string;
        from_name: string;
        reply_to: string;
        email_footer: string;
        logo_url: string;
        primary_color: string;
        is_configured: boolean;
        last_test_at: Date;
        test_successful: boolean;
        created_at: Date;
        updated_at: Date;
    }>;
    testEmailConnection(): Promise<{
        success: boolean;
        message: string;
    }>;
    sendTestEmail(data: {
        email: string;
    }): Promise<{
        success: boolean;
        message: string;
    }>;
    sendTestNotification(user: User, data: {
        type: string;
        email?: string;
    }): Promise<{
        success: boolean;
        message: string;
        notification: import("./entities/notification.entity").Notification;
    }>;
}
