import { c as MarketingContact, i as MarketingAdapter, w as ComplianceStore } from "./index-Ot3FsdgL.js";
//#region src/brevo.d.ts
type BrevoApiCreds = {
  apiKey: string;
  fetchImpl?: typeof fetch;
};
type BrevoCreds = BrevoApiCreds & {
  senderEmail: string;
  senderName?: string;
  complianceStore: ComplianceStore;
};
type BrevoDoubleOptInContactOpts = {
  listId: number;
  templateId: number;
  redirectionUrl: string;
};
type BrevoUpsertContactOpts = {
  updateEnabled?: boolean;
};
type BrevoAdapter = Omit<MarketingAdapter, 'upsertContact'> & {
  upsertContact(contact: MarketingContact, listId?: string, opts?: BrevoUpsertContactOpts): Promise<void>;
  createSegment(def: {
    name: string;
    listId: number;
  }): Promise<{
    id: number;
    name: string;
  }>;
  scheduleCampaign(campaignId: string | number, scheduledAt: string): Promise<void>;
  createAutomation(def: {
    name: string;
    listId: string | number;
  }): Promise<{
    id: number;
    name: string;
  }>;
};
declare function createBrevoDoubleOptInContact(creds: BrevoApiCreds, contact: MarketingContact, opts: BrevoDoubleOptInContactOpts): Promise<void>;
declare function makeBrevoAdapter(creds: BrevoCreds): BrevoAdapter;
//#endregion
export { BrevoAdapter, BrevoApiCreds, BrevoCreds, BrevoDoubleOptInContactOpts, BrevoUpsertContactOpts, createBrevoDoubleOptInContact, makeBrevoAdapter };