UNPKG

@bemit/consent-ui

Version:

49 lines (48 loc) 1.72 kB
import { ConsentUiPrefersState } from '@bemit/consent-ui/ConsentUiInfo'; import { ConsentUiTracker } from '@bemit/consent-ui/ConsentUiTracker'; import { EventAware } from '@bemit/consent-ui/EventAware'; export type ConsentCbOff = () => void; export interface ConsentUiStateType { ready?: boolean; hasChosen?: boolean; consent?: string; tag?: string; userPrefers?: ConsentUiPrefersState; } export declare class ConsentUiState extends EventAware { protected version: string; protected localKey: string; protected initialized: boolean; protected hasChosen: boolean; protected acceptedVersion: string | undefined; protected tag: string | undefined; userPrefers: ConsentUiPrefersState | undefined; trackersState: { [id: string]: boolean; }; trackersActivatedHistory: { [id: string]: boolean; }; trackers: ConsentUiTracker[] | undefined; constructor(settings: { version: string; localKey: string; trackers: ConsentUiTracker[]; }); init(): void; dispatchPreferences(): void; private readTag; giveConsent(preferences?: ConsentUiPrefersState): void; updateConsent(type: 'services' | 'groups', id: string, prefer: undefined | 1 | 2): void; private persistConsent; onConsent(cb: (version: string) => void): ConsentCbOff; toState(): ConsentUiStateType; } export interface ConsentUiOptions { version: string; localKey: string; trackers: ConsentUiTracker[]; } export declare const defineConsent: (options: ConsentUiOptions) => void; export declare const prepareConsent: (options: ConsentUiOptions) => void; export declare const consentUi: () => ConsentUiState | undefined;