@usercentrics/cmp-browser-sdk
Version:
Usercentrics CMP Browser SDK
99 lines (98 loc) • 4.03 kB
TypeScript
import { ACMVendor, TCFData, TCFUserDecisions } from '../interfaces/TCF';
import { AcmData, TcfData as TcfSettingsData } from './interfaces';
import { CoreTcf, DpsJsonResponse, LegacySettings, LegacyTCF2 } from '../../Api/interfaces';
import { DataTransferSettings } from '../../../modules/helpers';
import { EncodingOptions, TCModel } from '../../../../libs/@iabtcf/core';
import { ResurfaceOptions, TCFChangedPurposes } from '../interfaces';
import { TCF_DECISION_UI_LAYER } from '../enums/TCF';
import DefaultData from './DefaultData';
declare class Tcf extends DefaultData implements TcfSettingsData {
acmData: AcmData;
advertiserConsentModeEnabled?: boolean;
gcmEnabled: boolean;
changedPurposes: TCFChangedPurposes;
cmpId: number;
cmpVersion: number;
consensuScriptPath: string;
consensuSubdomain: string;
disabledSpecialFeatures: number[];
gdprApplies: boolean;
hideLegitimateInterestToggles: boolean;
isAnalyticsEnabled: boolean;
isApiV2Enabled: boolean;
isConsentXDeviceEnabled: boolean;
publisherCountryCode: string;
purposeOneTreatment: boolean;
resurfaceOptions: ResurfaceOptions;
stackIds: number[];
tcfv2HistoryDisabled: boolean;
useGranularChoice: boolean;
vendorIds: number[];
vendorIdsOutsideEUList: number[];
dataRetentionLabel?: string;
updateControllerId(value: string): void;
private policyVersion;
private dataTransferSettings;
private locationInstance;
private botInstance;
private previousStorage;
private selectedVendorsIncludeNonDisclosed;
private cmpApi;
private tcModel;
private tcfData;
private vendors;
private selectedLanguage;
private excludeAcceptAllVendors;
private enableDeprecatedV1ConsentSaving?;
applySpecialCasesForVendors(): void;
acceptAllDisclosed(fromLayer: TCF_DECISION_UI_LAYER): Promise<void>;
areAllPurposesAccepted(): boolean;
areAllVendorsAccepted(): boolean;
changeLanguage(language: string, newTcfSettings?: LegacyTCF2): Promise<void>;
denyAllDisclosed(fromLayer: TCF_DECISION_UI_LAYER): Promise<void>;
getSelectedVendorsIncludeNonDisclosed(): boolean;
getTcModel(): TCModel | null;
getTCFData(): TCFData;
/**
* If GDPR applies is false, then GDPR applies is set to true in TC String.
* If GDPR applies is true and user is inside EU, set it to true in TC String.
* If GDPR applies is true and user is outside EU, set it to false in TC String.
* (refs EUD-487)
* */
getGdprApplies(): Promise<boolean>;
getACString(): string;
getTCString(encodingOptions?: EncodingOptions): string;
getTCFDisclosedVendorsSegmentString(): string;
init(isEuMode: boolean): Promise<void>;
setUIAsClosed(): Promise<void>;
setUIAsOpen(): Promise<void>;
shouldResurfaceUI(): boolean;
updateChoices(decisions: TCFUserDecisions, fromLayer: TCF_DECISION_UI_LAYER): Promise<void>;
resetTcf(): void;
private applyPurposeRestrictions;
private cmpApiUpdate;
private getVendors;
initTCModel({ tcString, acString }: {
tcString: string;
acString: string;
}, isEuMode: boolean): Promise<void>;
private setEnableAdvertiserConsentMode;
private setAddtlConsent;
private resetGVLWithLanguage;
private resetTcfData;
private setSelectedVendorsIncludeNonDisclosed;
private savePurposes;
private saveSpecialFeatures;
private saveVendors;
private setVendors;
private getTcfData;
injectTCString(tcString: string): Promise<boolean>;
isPolicyVersion2(): boolean;
private saveTCFData;
private updateTCString;
getVendorsCount(): number;
getAcmVendors(): ACMVendor[];
getAcmVendorsCount(): number;
constructor(legacySettings: LegacySettings, coreTcf: CoreTcf, dpsJson: DpsJsonResponse, dataTransferSettings: DataTransferSettings, controllerId: string, language: string, excludeAcceptAllVendors: number[], enableDeprecatedV1ConsentSaving?: boolean);
}
export default Tcf;