import { BrowserPlugin } from '@snowplow/browser-tracker-core'; import { CommonEventProperties, ConsentGrantedEvent, ConsentWithdrawnEvent } from '@snowplow/tracker-core'; declare enum gdprBasis { consent = "consent", contract = "contract", legalObligation = "legal_obligation", vitalInterests = "vital_interests", publicTask = "public_task", legitimateInterests = "legitimate_interests" } type GdprBasis = keyof typeof gdprBasis; /** The Configuration for the GDPR Context */ interface GdprContextConfiguration { /** The basis for why the document will be processed */ basisForProcessing: GdprBasis; /** An identifier for the document */ documentId?: string; /** The version of the document */ documentVersion?: string; /** A descrtiption of the document */ documentDescription?: string; } /** * The Consent Plugin * * Adds Consent Granted and Withdrawn events * and the ability to add the GDPR context to events */ declare function ConsentPlugin(): BrowserPlugin; /** * Enable the GDPR context for each event * @param configuration - the configuration for the GDPR context * @param trackers - The tracker identifiers which should have the GDPR context enabled */ declare function enableGdprContext(configuration: GdprContextConfiguration, trackers?: Array): void; /** * Track a consent granted action * * @param event - The event information * @param trackers - The tracker identifiers which the event will be sent to */ declare function trackConsentGranted(event: ConsentGrantedEvent & CommonEventProperties, trackers?: Array): void; /** * Track a consent withdrawn action * * @param event - The event information * @param trackers - The tracker identifiers which the event will be sent to */ declare function trackConsentWithdrawn(event: ConsentWithdrawnEvent & CommonEventProperties, trackers?: Array): void; export { ConsentGrantedEvent, ConsentWithdrawnEvent, gdprBasis, GdprBasis, GdprContextConfiguration, ConsentPlugin, enableGdprContext, trackConsentGranted, trackConsentWithdrawn };