export declare function consentManagementHook(name: any, loadConsentData: any): import("../../src/hook.js").BeforeHook<"async", (options: import("../../src/prebid.js").PrivRequestBidsOptions | import("../../src/prebid.js").StartAuctionOptions) => void>; /** * * @typedef {Function} CmpLookupFn CMP lookup function. Should set up communication and keep consent data updated * through consent data handlers' `setConsentData`. * @param {SetProvisionalConsent} setProvisionalConsent optionally, the function can call this with provisional consent * data, which will be used if the lookup times out before "proper" consent data can be retrieved. * @returns {Promise<{void}>} a promise that resolves when the auction should be continued, or rejects if it should be canceled. * * @typedef {Function} SetProvisionalConsent * @param {*} provisionalConsent * @returns {void} */ /** * Look up consent data from CMP or config. * * @param {Object} options * @param {String} options.name e.g. 'GPP'. Used only for log messages. * @param {ConsentHandler} options.consentDataHandler consent data handler object (from src/consentHandler) * @param {CmpLookupFn} options.setupCmp * @param {Number?} options.cmpTimeout timeout (in ms) after which the auction should continue without consent data. * @param {Number?} options.actionTimeout timeout (in ms) from when provisional consent is available to when the auction should continue with it * @param {() => {}} options.getNullConsent consent data to use on timeout * @returns {Promise<{error: Error, consentData: {}}>} */ export declare function lookupConsentData({ name, consentDataHandler, setupCmp, cmpTimeout, actionTimeout, getNullConsent }: { name: any; consentDataHandler: any; setupCmp: any; cmpTimeout: any; actionTimeout: any; getNullConsent: any; }): Promise; export interface BaseCMConfig { /** * Length of time (in milliseconds) to delay auctions while waiting for consent data from the CMP. * Default is 10,000. */ timeout?: number; /** * Length of time (in milliseconds) to delay auctions while waiting for the user to interact with the CMP. * When set, auctions will wait up to `timeout` for the CMP to load, and once loaded up to `actionTimeout` * for the user to interact with the CMP. */ actionTimeout?: number; } export interface IABCMConfig { cmpApi?: 'iab'; consentData?: undefined; } export interface StaticCMConfig { cmpApi: 'static'; /** * Consent data as would be returned by a CMP. */ consentData: T; } export type CMConfig = BaseCMConfig & (IABCMConfig | StaticCMConfig); export declare function configParser({ namespace, displayName, consentDataHandler, parseConsentData, getNullConsent, cmpHandlers, DEFAULT_CMP, DEFAULT_CONSENT_TIMEOUT }?: any): (config: { [key: string]: CMConfig; }) => { cmpHandler?: undefined; cmpTimeout?: undefined; actionTimeout?: undefined; staticConsentData?: undefined; loadConsentData?: undefined; requestBidsHook?: undefined; } | { cmpHandler: any; cmpTimeout: any; actionTimeout: number; staticConsentData: any; loadConsentData: () => any; requestBidsHook: any; };