import type { ServiceAdapter } from '../core/service-adapter.js'; import type { BaseAdapterOptions } from './shared.js'; /** * Mixpanel adapter. * * @see https://docs.mixpanel.com/docs/privacy/end-user-data-management#opt-out-users * * Documented API methods (from Mixpanel docs): * - `mixpanel.opt_in_tracking()` — enable tracking * - `mixpanel.opt_out_tracking()` — disable tracking * - `mixpanel.has_opted_in_tracking()` — check if opted in * - `mixpanel.has_opted_out_tracking()` — check if opted out * * Initialize Mixpanel with `opt_out_tracking_by_default: true`: * * ```js * mixpanel.init('YOUR_TOKEN', { opt_out_tracking_by_default: true }); * ``` * * Then register the adapter: * * ```js * registry.register(createMixpanelAdapter(mixpanel)); * ``` */ export interface MixpanelLike { opt_in_tracking: () => void; opt_out_tracking: () => void; has_opted_in_tracking: () => boolean; has_opted_out_tracking: () => boolean; } export interface MixpanelAdapterOptions extends BaseAdapterOptions { } /** * Create a Mixpanel service adapter. */ export declare function createMixpanelAdapter(mixpanel: MixpanelLike, options?: MixpanelAdapterOptions): ServiceAdapter;