import { NotificationCampaignMessage, NotificationCampaignStatus } from '@yolo-croket-dev/entity-v2'; /** * @author jun * @description 시트에서 확정된 개인별 메시지 계약 * @process 경계 검증 후 notification-service에 전달 */ export declare class NotificationCampaignMessagePayload implements NotificationCampaignMessage { userId: string; itemId: string; couponCode: string; pushTitle: string; pushBody: string; pushAppLink: string; pushWebLink: string; pushImage: string; } export declare class GetNotificationCampaignPayload { campaignId: string; afterUserId?: string; } export declare class RegisterNotificationCampaignPayload { campaignId: string; snapshotHash: string; startsAt: string; endsAt: string; recipients: NotificationCampaignMessagePayload[]; } export declare class SendNotificationCampaignPayload { campaignId: string; userId: string; snapshotHash: string; } export interface NotificationCampaignRecipientResult { userId: string; itemId: string; couponCode: string; snapshotHash: string; messageHash: string; status: NotificationCampaignStatus; reason: string; providerRequestId?: string; updatedAt: string; } export interface RegisterNotificationCampaignResult { registered: number; } export interface GetNotificationCampaignResult { recipients: NotificationCampaignRecipientResult[]; nextUserId?: string; }