import { PartnerFeaturesType } from '../../assets/features/partnerFeaturesType'; import { DatalayerInfoType } from '..'; type LoadType = 'sync' | 'async' | 'defer'; export declare enum ThirdpartyScripts { POOOL_ACCESS = "poool-access", POOOL_ENGAGE = "poool-engage", AUDION = "audion", GOOGLE_SEARCH = "google-search", DIGITEKA_VISIBLE_PLAYER = "digiteka-visible-player", DIGITEKA_VIDEO_FEED = "digiteka-video-feed", IDALGO = "idalgo", NONLI = "nonli", TABOOLA = "taboola-sdk", MEDIEGO = "mediego", BATCH = "batch-sdk" } interface Script { name: string; priority: number; load: LoadType; waitCMP: boolean; } type ExternalScript = Script & { src: string; }; type InternalScript = Script & { text: string; }; export type ScriptType = ExternalScript | InternalScript; export interface FirstPartyScriptsType { gtmNoScript?: string; adsScript?: string; pianoScript?: string; edgeeScript?: string; cmpScript?: string; reactAndReactDomScript?: string; mainTyrScript?: string; iframeConsentScript?: string; memberScript?: string; adblockScript?: string; iframeScript?: string; datalayerInfo?: DatalayerInfoType; scriptSchedulerScript?: string; partnerFeatures?: PartnerFeaturesType; } export interface ThirdPartiesConfigType { veryHighPriority: ScriptType[]; highPriority: ScriptType[]; mediumPriority: ScriptType[]; lowPriority: ScriptType[]; conditional: (ScriptType & { name: `${ThirdpartyScripts}`; })[]; } export {};