import { NotificationsService } from './notifications.service';
import { SendEmailDto } from './dto/send-email.dto';
import { SendSmsDto } from './dto/send-sms.dto';
export declare class NotificationsController {
    private readonly notificationsService;
    constructor(notificationsService: NotificationsService);
    sendEmail(sendEmailDto: SendEmailDto): Promise<{
        success: boolean;
        provider: string;
        messageId: any;
        error?: undefined;
    } | {
        success: boolean;
        error: any;
        provider?: undefined;
        messageId?: undefined;
    }>;
    sendSms(sendSmsDto: SendSmsDto): Promise<{
        success: boolean;
        provider: string;
        status: string;
        error?: undefined;
    } | {
        success: boolean;
        error: any;
        provider?: undefined;
        status?: undefined;
    }>;
    getUserNotifications(userId: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        type: string;
        link: string | null;
        message: string;
        userId: string;
        title: string;
        isRead: boolean;
    }[]>;
    markAsRead(id: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        type: string;
        link: string | null;
        message: string;
        userId: string;
        title: string;
        isRead: boolean;
    }>;
    getTemplates(): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        isActive: boolean;
        type: string;
        subject: string | null;
        body: string;
        channel: string;
    }[]>;
    updateTemplate(type: string, data: any): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        isActive: boolean;
        type: string;
        subject: string | null;
        body: string;
        channel: string;
    }>;
}
