/** * Generate a normalization function for converting US state strings to the usnat format. * * Scalar fields are copied over if they exist in the input (state) data, or set to null otherwise. * List fields are also copied, but forced to the "correct" length (by truncating or padding with nulls); * additionally, elements within them can be moved around using the `move` argument. */ export declare function normalizer({ nullify, move, fn }: { /** * list of fields to force to null */ nullify?: string[]; /** * Map from list field name to an index remapping for elements within that field (using 1 as the first index). * For example, {SensitiveDataProcessing: {1: 2, 2: [1, 3]}} means "rearrange SensitiveDataProcessing by moving * the first element to the second position, and the second element to both the first and third position." */ move?: { [name: string]: { [position: number]: number | number[]; }; }; /** * an optional function to run once all the processing described above is complete; * it's passed two arguments, the original (state) data, and its normalized (usnat) version. */ fn?: (original: any, normalized: any) => any; }, fields?: { Version: number; Gpc: number; SharingNotice: number; SaleOptOutNotice: number; SharingOptOutNotice: number; TargetedAdvertisingOptOutNotice: number; SensitiveDataProcessingOptOutNotice: number; SensitiveDataLimitUseNotice: number; SaleOptOut: number; SharingOptOut: number; TargetedAdvertisingOptOut: number; SensitiveDataProcessing: number; KnownChildSensitiveDataConsents: number; PersonalDataConsents: number; MspaCoveredTransaction: number; MspaOptOutOptionMode: number; MspaServiceProviderMode: number; }): (cd: any) => { [k: string]: any; }; export declare const NORMALIZATIONS: { 7: (consent: any) => any; 8: (cd: any) => { [k: string]: any; }; 9: (cd: any) => { [k: string]: any; }; 10: (cd: any) => { [k: string]: any; }; 11: (cd: any) => { [k: string]: any; }; 12: (cd: any) => { [k: string]: any; }; }; export declare const DEFAULT_SID_MAPPING: { 8: string; 9: string; 10: string; 11: string; 12: string; }; export declare const getSections: ({ sections, sids }?: { sections?: {}; sids?: number[]; }) => any[][]; declare module './consentManagementGpp' { interface GPPConfig { mspa?: { /** * GPP SIDs that should be covered by activity restrictions. Defaults to all US state SIDs. */ sids?: number[]; /** * Map from section ID to per-section configuration options */ sections?: { [sid: number]: { /** * GPP API name to use for the section. Defaults to the names listed in the GPP spec: * https://github.com/InteractiveAdvertisingBureau/Global-Privacy-Platform/blob/main/Sections/Section%20Information.md#section-ids * This option would only be used if your CMP has named their sections in a non-standard way.y */ name?: string; /** * Normalize the flags for this section as if it were the number provided. * Cfr https://docs.prebid.org/features/mspa-usnat.html#interpreting-usnat-strings * Each section defaults to its own ID. */ normalizeAs?: number; }; }; }; } }