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"
}
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 {};
