import { r as UserAPI, t as EmailsList } from "./user.types-BcSU0sts.js";
import { n as ResponseData } from "./responseData-U7Jr-usN.js";
import { FastifyReply, FastifyRequest } from "fastify";

//#region src/controllers/newsletter.controller.d.ts
type NewsletterSubscriptionBody = {
  email: string;
  emailList: EmailsList | EmailsList[];
};
type NewsletterSubscriptionResult = ResponseData<UserAPI>;
/**
 * Subscribes a user to the newsletter.
 * If the user doesn't exist, creates a new user.
 * If the user exists, updates their newsletter subscription to true.
 */
declare const subscribeToNewsletter: (request: FastifyRequest<{
  Body: NewsletterSubscriptionBody;
}>, reply: FastifyReply) => Promise<void>;
type NewsletterUnsubscriptionBody = {
  userId: string;
  emailList: EmailsList | EmailsList[];
};
/**
 * Unsubscribes a user from the newsletter.
 * Only works if the user exists.
 */
declare const unsubscribeFromNewsletter: (request: FastifyRequest<{
  Body: NewsletterUnsubscriptionBody;
}>, reply: FastifyReply) => Promise<void>;
/**
 * Gets the newsletter subscription status for a user.
 */
declare const getNewsletterStatus: (_request: FastifyRequest, reply: FastifyReply) => Promise<void>;
//#endregion
export { subscribeToNewsletter as a, getNewsletterStatus as i, NewsletterSubscriptionResult as n, unsubscribeFromNewsletter as o, NewsletterUnsubscriptionBody as r, NewsletterSubscriptionBody as t };
//# sourceMappingURL=newsletter.controller-D-js27q2.d.ts.map