UNPKG

@segment/consent-manager

Version:

Drop-in consent management plugin for analytics.js

26 lines (25 loc) 1.14 kB
/// <reference types="node" /> import { CookieAttributes } from 'js-cookie'; import { Preferences } from '../types'; import { EventEmitter } from 'events'; export interface PreferencesManager { loadPreferences(cookieName?: string): Preferences; onPreferencesSaved(listener: (prefs: Preferences) => void): void; savePreferences(prefs: SavePreferences): void; } export declare function loadPreferences(cookieName?: string): Preferences; declare type SavePreferences = Preferences & { cookieDomain?: string; cookieName?: string; cookieExpires?: number; cookieAttributes?: CookieAttributes; }; /** * Subscribes to consent preferences changing over time and returns * a cleanup function that can be invoked to remove the instantiated listener. * * @param listener a function to be invoked when ConsentPreferences are saved */ export declare function onPreferencesSaved(listener: (prefs: Preferences) => void): () => EventEmitter; export declare function savePreferences({ destinationPreferences, customPreferences, cookieDomain, cookieName, cookieExpires, cookieAttributes }: SavePreferences): void; export {};