import { NotificationLevel, NotificationType } from "../enum";
import z from 'zod';
declare const TestEmailResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    messageId: z.ZodString;
}, z.core.$strip>, false>;
export declare class TestEmailResponseDto extends TestEmailResponseDto_base {
}
declare const TemplateResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    name: z.ZodString;
    html: z.ZodString;
}, z.core.$strip>, false>;
export declare class TemplateResponseDto extends TemplateResponseDto_base {
}
declare const TemplateDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    template: z.ZodString;
}, z.core.$strip>, false>;
export declare class TemplateDto extends TemplateDto_base {
}
declare const NotificationDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    id: z.ZodUUID;
    createdAt: z.ZodCodec<z.ZodISODateTime, z.ZodDate>;
    level: z.ZodEnum<typeof NotificationLevel>;
    type: z.ZodEnum<typeof NotificationType>;
    title: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    readAt: z.ZodOptional<z.ZodCodec<z.ZodISODateTime, z.ZodDate>>;
}, z.core.$strip>, false>;
export declare class NotificationDto extends NotificationDto_base {
}
declare const NotificationSearchDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    id: z.ZodOptional<z.ZodUUID>;
    level: z.ZodOptional<z.ZodEnum<typeof NotificationLevel>>;
    type: z.ZodOptional<z.ZodEnum<typeof NotificationType>>;
    unread: z.ZodOptional<z.ZodCodec<z.ZodString, z.ZodBoolean>>;
}, z.core.$strip>, false>;
export declare class NotificationSearchDto extends NotificationSearchDto_base {
}
declare const NotificationCreateDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    level: z.ZodOptional<z.ZodEnum<typeof NotificationLevel>>;
    type: z.ZodOptional<z.ZodEnum<typeof NotificationType>>;
    title: z.ZodString;
    description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    readAt: z.ZodOptional<z.ZodNullable<z.ZodCodec<z.ZodISODateTime, z.ZodDate>>>;
    userId: z.ZodUUID;
}, z.core.$strip>, false>;
export declare class NotificationCreateDto extends NotificationCreateDto_base {
}
declare const NotificationUpdateDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    readAt: z.ZodOptional<z.ZodNullable<z.ZodCodec<z.ZodISODateTime, z.ZodDate>>>;
}, z.core.$strip>, false>;
export declare class NotificationUpdateDto extends NotificationUpdateDto_base {
}
declare const NotificationUpdateAllDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    ids: z.ZodArray<z.ZodUUID>;
    readAt: z.ZodOptional<z.ZodNullable<z.ZodCodec<z.ZodISODateTime, z.ZodDate>>>;
}, z.core.$strip>, false>;
export declare class NotificationUpdateAllDto extends NotificationUpdateAllDto_base {
}
declare const NotificationDeleteAllDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    ids: z.ZodArray<z.ZodUUID>;
}, z.core.$strip>, false>;
export declare class NotificationDeleteAllDto extends NotificationDeleteAllDto_base {
}
type MapNotification = {
    id: string;
    createdAt: Date;
    updateId?: string;
    level: NotificationLevel;
    type: NotificationType;
    data: any | null;
    title: string;
    description: string | null;
    readAt: Date | null;
};
export declare const mapNotification: (notification: MapNotification) => NotificationDto;
export {};
