/** * This module gives publishers extra set of features to enforce individual purposes of TCF v2 */ export declare const STRICT_STORAGE_ENFORCEMENT = "strictStorageEnforcement"; export declare const ACTIVE_RULES: { purpose: {}; feature: {}; }; declare const CONFIGURABLE_RULES: { readonly storage: { readonly type: "purpose"; readonly default: { readonly purpose: "storage"; readonly enforcePurpose: true; readonly enforceVendor: true; readonly vendorExceptions: readonly []; }; readonly id: 1; }; readonly basicAds: { readonly type: "purpose"; readonly id: 2; readonly default: { readonly purpose: "basicAds"; readonly enforcePurpose: true; readonly enforceVendor: true; readonly vendorExceptions: readonly []; }; }; readonly personalizedAds: { readonly type: "purpose"; readonly id: 4; readonly default: { readonly purpose: "personalizedAds"; readonly enforcePurpose: true; readonly enforceVendor: true; readonly vendorExceptions: readonly []; readonly eidsRequireP4Consent: false; }; }; readonly measurement: { readonly type: "purpose"; readonly id: 7; readonly default: { readonly purpose: "measurement"; readonly enforcePurpose: true; readonly enforceVendor: true; readonly vendorExceptions: readonly []; }; }; readonly transmitPreciseGeo: { readonly type: "feature"; readonly id: 1; readonly default: { readonly purpose: "transmitPreciseGeo"; readonly enforcePurpose: true; readonly enforceVendor: true; readonly vendorExceptions: readonly []; }; }; }; declare module '../src/config' { interface Config { /** * Map from module name to that module's GVL ID. This overrides the GVL ID provided * by the modules themselves. */ gvlMapping?: { [moduleName: string]: number; }; } } /** * Retrieve a module's GVL ID. */ export declare function getGvlid(moduleType: any, moduleName: any, fallbackFn: any): import("../src/consentHandler.js").GVLID; /** * Retrieve GVL IDs that are dynamically set on analytics adapters. */ export declare function getGvlidFromAnalyticsAdapter(code: any, config: any): any; export declare function shouldEnforce(consentData: any, purpose: any, name: any): any; /** * This function takes in a rule and consentData and validates against the consentData provided. Depending on what it returns, * the caller may decide to suppress a TCF-sensitive activity. * @param {Object} rule - enforcement rules set in config * @param {Object} consentData - gdpr consent data * @param {string=} currentModule - Bidder code of the current module * @param {number=} gvlId - GVL ID for the module * @returns {boolean} */ export declare function validateRules(rule: any, consentData: any, currentModule: any, gvlId: any): boolean; export declare const accessDeviceRule: (params: any) => { allow: boolean; }; export declare const syncUserRule: (params: any) => { allow: boolean; }; export declare const enrichEidsRule: (params: any) => { allow: boolean; }; export declare const fetchBidsRule: (params: any) => any; export declare const reportAnalyticsRule: (params: any) => { allow: boolean; }; export declare const ufpdRule: (params: any) => { allow: boolean; }; export declare const transmitEidsRule: (params: any) => any; export declare const transmitPreciseGeoRule: (params: any) => { allow: boolean; }; type TCFControlRule = { purpose: keyof typeof CONFIGURABLE_RULES; /** * Determines whether to enforce the purpose consent. */ enforcePurpose?: boolean; /** * Determines whether to check vendor signals for this purpose. */ enforceVendor?: boolean; /** * Defines a list of bidder codes or module names that are exempt from determining legal basis for this Purpose. * Note: Prebid.org recommends working with a privacy lawyer before making enforcement exceptions for any vendor. */ vendorExceptions?: string[]; /** * Defines a list of bidder codes or module names that are exempt from the checking vendor signals for this purpose. * Unlike with vendorExceptions, Purpose consent is still checked. * Note: Prebid.org recommends working with a privacy lawyer before making enforcement exceptions for any vendor. */ softVendorExceptions?: string[]; /** * Only relevant when `purpose` is `'personalizedAds'`. * If true, user IDs and EIDs will not be shared without evidence of consent for TCF Purpose 4. * If false (the default), evidence of consent for any of Purposes 2-10 is sufficient for sharing user IDs and EIDs. */ eidsRequireP4Consent?: boolean; }; declare module '../src/consentHandler' { interface ConsentManagementConfig { /** * If false (the default), allows some use of storage regardless of purpose 1 consent. */ [STRICT_STORAGE_ENFORCEMENT]?: boolean; } } declare module './consentManagementTcf' { interface TCFConfig { rules?: TCFControlRule[]; } } /** * A configuration function that initializes some module variables, as well as adds hooks * @param {Object} config - GDPR enforcement config object */ export declare function setEnforcementConfig(config: any): void; export declare function checkIfCredentialsAllowed(next: any, options?: { withCredentials?: boolean; }, moduleType?: string, moduleName?: string): void; export declare function uninstall(): void; export {};